# Apollo集群

作者:Odboy (opens new window)

本站地址:https://blog.odboy.cn (opens new window)

# 关键字说明

  • 绿色字体代表已完成
  • 红色字体代表待完成

# 实验明细

  • 配置
  • 运行
  • 集成

# 启动前准备

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
1
2
3
4
5

# docker-compose.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"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# mac为127.0.0.1:8070,宿主机请使用宿主机的ip
http://127.0.0.1:8070

账号:apollo
密码:admin
1
2
3
4
5

# 集成文档

客户端使用指南 (opens new window)

最近更新: 2024-10-11
2017 - 武林秘籍   |