Apollo——docker-compose執行Apollo
阿新 • • 發佈:2022-05-12
前言
本地開發需要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