Skip to content

Apollo集群

关键字说明

  • 字体代表
  • 字体代表

实验明细

启动前准备

shell
mkdir apollo
cd apollo
mkdir -p apollo-db/init
curl -o apollo-db/init/apolloconfigdb.sql https://oss.odboy.cn/blog/files/20029/apolloconfigdb.sql
curl -o apollo-db/init/apolloportaldb.sql https://oss.odboy.cn/blog/files/20029/apolloportaldb.sql

docker-compose.yaml

yaml
version: '3'
services:
  apollo-db:
    image: registry.cn-shanghai.aliyuncs.com/odboy/ops:mysql-5.7.44
    container_name: apollo-db
    restart: unless-stopped
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 'mysql123456'
    ports:
      - "13306:3306"
    volumes:
      - ./apollo-db/init:/docker-entrypoint-initdb.d
      - ./apollo-db/data:/var/lib/mysql
    healthcheck:
      test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
      interval: 5s
      timeout: 1s
      retries: 10
  apollo-configservice:
    image: registry.cn-shanghai.aliyuncs.com/odboy/ops:apollo-configservice-2.3.0
    container_name: apollo-configservice
    restart: unless-stopped
    depends_on:
      apollo-db:
        condition: service_healthy
    links:
      - apollo-db
    ports:
      - "8080:8080"
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://apollo-db:3306/ApolloConfigDB?characterEncoding=utf8 # 对应环境ApolloConfigDB的地址
      SPRING_DATASOURCE_USERNAME: root # 对应环境ApolloConfigDB的账号
      SPRING_DATASOURCE_PASSWORD: mysql123456 # 对应环境ApolloConfigDB的密码
    volumes:
      - "./apollo-configservice/logs:/opt/logs"
  apollo-adminservice:
    image: registry.cn-shanghai.aliyuncs.com/odboy/ops:apollo-adminservice-2.3.0
    container_name: apollo-adminservice
    restart: unless-stopped
    depends_on:
      apollo-db:
        condition: service_healthy
    links:
      - apollo-db
      - apollo-configservice
    ports:
      - "8090:8090"
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://apollo-db:3306/ApolloConfigDB?characterEncoding=utf8 # 对应环境ApolloConfigDB的地址
      SPRING_DATASOURCE_USERNAME: root # 对应环境ApolloConfigDB的账号
      SPRING_DATASOURCE_PASSWORD: mysql123456 # 对应环境ApolloConfigDB的密码
    volumes:
      - "./apollo-adminservice/logs:/opt/logs"
  apollo-portal:
    image: registry.cn-shanghai.aliyuncs.com/odboy/ops:apollo-portal-2.3.0
    container_name: apollo-portal
    restart: unless-stopped
    depends_on:
      apollo-db:
        condition: service_healthy
    links:
      - apollo-db
      - apollo-configservice
      - apollo-adminservice
    ports:
      - "8070:8070"
    environment:
      SPRING_DATASOURCE_URL: jdbc:mysql://apollo-db:3306/ApolloPortalDB?characterEncoding=utf8 # 对应环境ApolloPortalDB的地址
      SPRING_DATASOURCE_USERNAME: root # 对应环境ApolloPortalDB的账号
      SPRING_DATASOURCE_PASSWORD: mysql123456 # 对应环境ApolloPortalDB的密码
      APOLLO_PORTAL_ENVS: dev,uat,pro
      DEV_META: http://192.168.250.100:8080 # 配置对应环境的Meta Service(apollo-configservice)地址,以${ENV}_META命名,宿主机ip
    #      UAT_META: http://192.168.250.100:8080
    #      PRO_META: http://192.168.250.100:8080
    volumes:
      - "./apollo-portal/logs:/opt/logs"
shell
# mac为127.0.0.1:8070,宿主机请使用宿主机的ip
http://127.0.0.1:8070

账号:apollo
密码:admin

集成文档

客户端使用指南