2.3 Docker部署

2.3.1 1.7.0及以上版本

Apollo 1.7.0版本开始会默认上传Docker镜像到Docker Hub,可以按照如下步骤获取

2.3.1.1 Apollo Config Service

2.3.1.1.1 获取镜像
  1. docker pull apolloconfig/apollo-configservice:${version}
2.3.1.1.2 运行镜像

示例:

  1. docker run -p 8080:8080 \
  2. -e SPRING_DATASOURCE_URL="jdbc:mysql://fill-in-the-correct-server:3306/ApolloConfigDB?characterEncoding=utf8" \
  3. -e SPRING_DATASOURCE_USERNAME=FillInCorrectUser -e SPRING_DATASOURCE_PASSWORD=FillInCorrectPassword \
  4. -d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice:${version}

参数说明:

  • SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
  • SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
  • SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码

2.3.1.2 Apollo Admin Service

2.3.1.2.1 获取镜像
  1. docker pull apolloconfig/apollo-adminservice:${version}
2.3.1.2.2 运行镜像

示例:

  1. docker run -p 8090:8090 \
  2. -e SPRING_DATASOURCE_URL="jdbc:mysql://fill-in-the-correct-server:3306/ApolloConfigDB?characterEncoding=utf8" \
  3. -e SPRING_DATASOURCE_USERNAME=FillInCorrectUser -e SPRING_DATASOURCE_PASSWORD=FillInCorrectPassword \
  4. -d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice:${version}

参数说明:

  • SPRING_DATASOURCE_URL: 对应环境ApolloConfigDB的地址
  • SPRING_DATASOURCE_USERNAME: 对应环境ApolloConfigDB的用户名
  • SPRING_DATASOURCE_PASSWORD: 对应环境ApolloConfigDB的密码

2.3.1.3 Apollo Portal

2.3.1.3.1 获取镜像
  1. docker pull apolloconfig/apollo-portal:${version}
2.3.1.3.2 运行镜像

示例:

  1. docker run -p 8070:8070 \
  2. -e SPRING_DATASOURCE_URL="jdbc:mysql://fill-in-the-correct-server:3306/ApolloPortalDB?characterEncoding=utf8" \
  3. -e SPRING_DATASOURCE_USERNAME=FillInCorrectUser -e SPRING_DATASOURCE_PASSWORD=FillInCorrectPassword \
  4. -e APOLLO_PORTAL_ENVS=dev,pro \
  5. -e DEV_META=http://fill-in-dev-meta-server:8080 -e PRO_META=http://fill-in-pro-meta-server:8080 \
  6. -d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal:${version}

参数说明:

  • SPRING_DATASOURCE_URL: 对应环境ApolloPortalDB的地址
  • SPRING_DATASOURCE_USERNAME: 对应环境ApolloPortalDB的用户名
  • SPRING_DATASOURCE_PASSWORD: 对应环境ApolloPortalDB的密码
  • APOLLO_PORTAL_ENVS(可选): 对应ApolloPortalDB中的apollo.portal.envs配置项,如果没有在数据库中配置的话,可以通过此环境参数配置
  • DEV_META/PRO_META(可选): 配置对应环境的Meta Service地址,以${ENV}_META命名,需要注意的是如果配置了ApolloPortalDB中的apollo.portal.meta.servers配置,则以apollo.portal.meta.servers中的配置为准

2.3.2 1.7.0之前的版本

Apollo项目已经自带了Docker file,可以参照2.2 获取安装包配置好安装包后通过下面的文件来打Docker镜像:

  1. apollo-configservice
  2. apollo-adminservice
  3. apollo-portal

也可以参考Apollo用户@kuloveccdocker-apollo项目和@idoopdocker-apollo项目。