Skip to main content
Version: 2.4.2

Docker Deployment

This article introduces the use of docker to deploy the Apache ShenYu gateway.

Start Apache ShenYu Admin#

docker pull apache/shenyu-admin:2.4.2docker network create shenyu
  • use h2 to store data:
docker run -d -p 9095:9095 --net shenyu apache/shenyu-admin:2.4.2
docker run -v /${your_work_dir}/ext-lib:/opt/shenyu-admin/ext-lib -e "SPRING_PROFILES_ACTIVE=mysql" -e "spring.datasource.url=jdbc:mysql://${your_ip_port}/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false" -e "spring.datasource.username=${your_username}" -e "spring.datasource.password=${your_password}" -d -p 9095:9095 --net shenyu apache/shenyu-admin:2.4.2

another way is to put the application.ymlapplication-mysql.ymlapplication-pg.yml configuration in ${your_work_dir}/conf from Configure address , and then execute the following statement:

docker run -v ${your_work_dir}/conf:/opt/shenyu-admin/conf -v /${your_work_dir}/ext-lib:/opt/shenyu-admin/ext-lib -d -p 9095:9095 --net shenyu apache/shenyu-admin:2.4.2
  • use PostgreSql to store data, execute the following statement:
docker run -e "SPRING_PROFILES_ACTIVE=pg" -e "spring.datasource.url=jdbc:postgresql://${your_ip_port}/shenyu?useUnicode=true&characterEncoding=utf-8&useSSL=false" -e "spring.datasource.username=${your_username}" -e "spring.datasource.password=${your_password}" -d -p 9095:9095 --net shenyu apache/shenyu-admin:2.4.2

another way is to put the application.yml configuration in ${your_work_dir}/conf, and then execute the following statement:

docker run -v ${your_work_dir}/conf:/opt/shenyu-admin/conf -d -p 9095:9095 --net shenyu apache/shenyu-admin:2.4.2

Start Apache ShenYu Bootstrap#

In the host, the directory where the bootstrap configuration file is located is recorded as $BOOTSTRAP_CONF.

docker network create shenyudocker pull apache/shenyu-bootstrap:2.4.2docker run -d \  -p 9195:9195 \  -v $BOOTSTRAP_CONF:/opt/shenyu-bootstrap/conf \  apache/shenyu-bootstrap:2.4.2

Start ShenYu Bootstrap with ShenYu Agent#

2.4.2 version started to support shenyu-agent

  • Edit configuration file

Agent related configuration files are located at shenyu-dist/shenyu-agent-dist/src/main/resources/conf/, after editing shenyu-agent.yaml and tracing-point.yaml, put these two files in the same directory, record them as $AGENT_CONF.

For detailed configuration, please refer to Observability

  • Pull the docker image and run

The additional parameter agent means to start shenyu-agent.

docker network create shenyudocker pull apache/shenyu-bootstrap:2.4.2docker run -d \  -p 9195:9195 \  --net shenyu \  -v $AGENT_CONF:/opt/shenyu-bootstrap/agent/conf \  -v $BOOTSTRAP_CONF:/opt/shenyu-bootstrap/conf \  apache/shenyu-bootstrap:2.4.2 agent