前言
本地开发需要Apollo,记录下写的docker-compose的脚本
- 官方文档: https://www.apolloconfig.com/
- SERVER_SERVLET_CONTEXT_PATH: Portal挂载到nginx/slb后如何设置相对路径
- apolloportaldb.sql: https://github.com/apolloconfig/apollo/blob/master/scripts/sql/apolloportaldb.sql
- apolloconfigdb.sql: https://github.com/apolloconfig/apollo/blob/master/scripts/sql/apolloconfigdb.sql
- 默认登录账号/密码: apollo/admin
内容
目录结构
apollo/ ├── docker-compose.yml └── sql ├── apolloconfigdb.sql └── apolloportaldb.sql
docker-compose.yml
192.168.223.10为本地虚机内网IP
version: '3' services: apollo-configservice: image: apolloconfig/apollo-configservice:latest container_name: apollo-configservice restart: always ports: - "8080:8080" volumes: - /tmp/logs:/opt/logs environment: SERVER_PORT: 8080 EUREKA_INSTANCE_IP_ADDRESS: 192.168.223.10 EUREKA_INSTANCE_HOME_PAGE_URL: "http://192.168.223.10:8080" EUREKA_INSTANCE_PREFER_IP_ADDRESS: false SPRING_DATASOURCE_URL: 'jdbc:mysql://192.168.223.10:13306/ApolloConfigDB?characterEncoding=utf8' SPRING_DATASOURCE_USERNAME: 'root' SPRING_DATASOURCE_PASSWORD: '123456' depends_on: - apollo-db apollo-adminservice: image: apolloconfig/apollo-adminservice:latest container_name: apollo-adminservice restart: always ports: - "8090:8090" volumes: - /tmp/logs:/opt/logs environment: SERVER_PORT: 8090 EUREKA_INSTANCE_IP_ADDRESS: 192.168.223.10 EUREKA_INSTANCE_HOME_PAGE_URL: "http://192.168.223.10:8090" EUREKA_INSTANCE_PREFER_IP_ADDRESS: false SPRING_DATASOURCE_URL: 'jdbc:mysql://192.168.223.10:13306/ApolloConfigDB?characterEncoding=utf8' SPRING_DATASOURCE_USERNAME: 'root' SPRING_DATASOURCE_PASSWORD: '123456' depends_on: - apollo-configservice apollo-db: image: mysql:5.7 container_name: apollo-db restart: always command: --default-authentication-plugin=mysql_native_password environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: 123456 depends_on: - apollo-dbdata ports: - "13306:3306" volumes: - ./sql:/docker-entrypoint-initdb.d volumes_from: - apollo-dbdata apollo-dbdata: image: alpine:latest container_name: apollo-dbdata volumes: - /var/lib/mysql apollo-portal: image: apolloconfig/apollo-portal:latest container_name: apollo-portal restart: always ports: - "8070:8070" volumes: - /tmp/logs:/opt/logs environment: DS_URL: "jdbc:mysql://192.168.223.10:13306/ApolloPortalDB?characterEncoding=utf8" DS_USERNAME: "root" DS_PASSWORD: "123456" APOLLO_PORTAL_ENVS: "DEV" DEV_META: "http://192.168.223.10:8080" #SERVER_SERVLET_CONTEXT_PATH: "/apollo" depends_on: - apollo-adminservice
配置eureka.service.url
- 将eureka.service.url修改成自己的虚机地址
- 修改后apollo-configservice会从DB中读取
查看服务
浏览器访问192.168.223.10:8070
学无止境,谦卑而行.