天天看點

docker-compose部署apollo

以docker-compose方式部署apollo。最新版本:1.7.1

  • 主機說明:
系統:CentOS 7.8

Meta Server/Config Service/Admin Service/Portal Server/MySQL        192.168.30.131
           
  • 資料庫準備:

首先部署mysql,建立使用者并設定密碼,這裡是

root

/

123456789

cd /software

git clone https://github.com/ctripcorp/apollo.git

mysql -uroot -p123456789 < apollo/scripts/sql/apolloportaldb.sql

mysql -uroot -p123456789 < apollo/scripts/sql/apolloconfigdb.sql
           
  • 部署:
vim docker-compose.yaml
           
version: '3.7'

services:
  apollo-configservice:
    container_name: apollo-configservice
    image: apolloconfig/apollo-configservice
    volumes:
      - type: volume
        source: logs
        target: /opt/logs
    ports:
      - "8080"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:mysql://192.168.30.131:3306/ApolloConfigDB?characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=123456789
    restart: always
    network_mode: host

  apollo-adminservice:
    depends_on:
      - apollo-configservice
    container_name: apollo-adminservice
    image: apolloconfig/apollo-adminservice
    volumes:
      - type: volume
        source: logs
        target: /opt/logs
    ports:
      - "8090"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:mysql://192.168.30.131:3306/ApolloConfigDB?characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=123456789
    restart: always
    network_mode: host

  apollo-portal:
    depends_on:
      - apollo-adminservice
    container_name: apollo-portal
    image: apolloconfig/apollo-portal
    volumes:
      - type: volume
        source: logs
        target: /opt/logs
    ports:
      - "8070"
    environment:  
      - SPRING_DATASOURCE_URL=jdbc:mysql://192.168.30.131:3306/ApolloPortalDB?characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=123456789
      - APOLLO_PORTAL_ENVS=dev
      - DEV_META=http://192.168.30.131:8080
    restart: always
    network_mode: host

volumes:
  logs:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /tmp/logs
           

參數說明:

SPRING_DATASOURCE_URL: 對應環境ApolloPortalDB的位址

SPRING_DATASOURCE_USERNAME: 對應環境ApolloPortalDB的使用者名

SPRING_DATASOURCE_PASSWORD: 對應環境ApolloPortalDB的密碼

APOLLO_PORTAL_ENVS(可選): 對應ApolloPortalDB中的apollo.portal.envs配置項,如果沒有在資料庫中配置的話,可以通過此環境參數配置

DEV_META/PRO_META(可選): 配置對應環境的Meta Service位址,以${ENV}_META命名,如果ApolloPortalDB中配置了apollo.portal.meta.servers,則以apollo.portal.meta.servers中的配置為準
           
docker-compose up -d

docker-compose ps

        Name                      Command               State           Ports         
--------------------------------------------------------------------------------------
apollo-adminservice    /apollo-adminservice/scrip ...   Up      0.0.0.0:8090->8090/tcp
apollo-configservice   /apollo-configservice/scri ...   Up      0.0.0.0:8080->8080/tcp
apollo-portal          /apollo-portal/scripts/sta ...   Up      0.0.0.0:8070->8070/tcp
           
  • 通路ui:

通路

192.168.30.131:8070

,賬号/密碼:

apollo

/

admin

docker-compose部署apollo

docker-compose方式部署apollo完成。已存放至個人github:docker-compose