&& echo "tail -f /dev/null" >> /apollo-adminservice/scripts/startup.sh
EXPOSE 8090
CMD ["/apollo-adminservice/scripts/startup.sh"]
需要注意的,
1: version 需要根据自己打包的版本来修改
2: ADD zip包时修改你路径
三个服务的dockerfile文件基本相同,我就不在这多说了。需要的小伙伴直接从https://github.com/yuelicn/docker-apollo就可以了。
4 docker-compose 的编写
4.1 apollo-configservice-compose.yml
version: "3"
services:
apollo-configservice:
container_name: apollo-configservice
build: apollo-configservice/
image: apollo-configservice
ports:
- 8080:8080
volumes:
- "/docker/apollo/logs/100003171:/opt/logs/100003171"
environment:
- spring_datasource_url=jdbc:mysql://127.0.0.1:8306/ApolloConfigDB_TEST?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=mysql2019*
- eureka.instance.ip-address=172.11.11.11 restart: always
注意事项,
1: build: 中指定你Dockerfile文件的位置
2: environment 环境变量中指定你数据库的配置信息
3: eureka.instance.ip-address 指定注册到eureka地址,这个最好使用你物理机的内网地址。
特别注意: 启动前最好先修改ApolloConfigDB数据库中 ServerConfig中的eureka.service.url值,改为具体的IP
启动:
docker-compose -f apollo-configservice-compose.yml up --build -d4.2 apollo-adminservice-compose.yml
apollo-adminservice-compose.yml的内容基本和apollo-configservice-compose.yml相同,在这我就不一一说明了。
4.3 apollo-portal-compose.yml
version: "3"
services:
apollo-portal:
container_name: apollo-portal
build: apollo-portal/
image: apollo-portal
ports:
- 8070:8070
volumes:
- "/docker/apollo/logs/100003173:/opt/logs/100003173"
- "/apollo-portal/config/apollo-env.properties:/apollo-portal/config/apollo-env.properties"
environment:
- spring_datasource_url=jdbc:mysql://127.0.0.1:8306/ApolloPortalDB?characterEncoding=utf8
- spring_datasource_username=root
- spring_datasource_password=mysql2019* restart: always
注意事项:
1: 需要注意的和上述configservice基本相同
2: 特别需要注意的事项 重要!重要!重要!重要!重要!volumes: 中我将
apollo-env.properties文件映射到容器外面了,将自己的apollo-env.properties文件配置后将自己的挂载地址填上,冒号前的地址“/apollo-portal/config/apollo-env.properties”修改成自己的。必须在启动前将此配置文件指定好。










