banner
venom

venom

Docker Compose単一ホストデプロイメント携程Apollo

オペレーティングシステム:Ubuntu 18.04.6 LTS

カーネル:Linux 4.15.0-169-generic

アーキテクチャ:x86-64

Apollo Config Service イメージの取得#

root@ubuntu:~# docker pull apolloconfig/apollo-configservice:latest

Apollo Admin Service イメージの取得#

root@ubuntu:~# docker pull apolloconfig/apollo-adminservice:latest

Apollo Portal イメージの取得#

root@ubuntu:~# docker pull apolloconfig/apollo-portal:latest

検証#

root@ubuntu:~# docker images |grep apollo
apolloconfig/apollo-portal          latest    d8f979fd9631   5 months ago   160MB
apolloconfig/apollo-adminservice    latest    2934fe191aa5   5 months ago   176MB
apolloconfig/apollo-configservice   latest    faf09bfd7daf   5 months ago   180MB

マウントディレクトリの作成#

root@ubuntu:~# mkdir -p apollo/configservice/conf apollo/configservice/logs apollo/adminservice/conf apollo/adminservice/logs apollo/portal/conf apollo/portal/logs

データベースの初期化#

ApolloConfigDB の初期化 ApolloConfigDB#

source /your_local_path/scripts/sql/apolloconfigdb.sql

ApolloPortalDB の初期化 ApolloPortalDB#

source /your_local_path/scripts/sql/apolloportaldb.sql

起動ファイルの変更#

  configservice:
    image: apolloconfig/apollo-configservice:latest
    container_name: configservice
    ports:
      - 7901:7901
    volumes:
      - /opt/apollo/configservice/logs:/opt/logs:rw
      - /opt/apollo/configservice/conf:/opt/conf:rw
      - /etc/localtime:/etc/localtime:ro
    network_mode: host
    restart: always
    environment:
      - SERVER_PORT=7901
      - SPRING_DATASOURCE_URL=jdbc:mysql://172.11.0.2:3306/ApolloConfigDB?characterEncoding=utf8&useSSL=false
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=root
    depends_on:
      - mysql
    deploy:
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  adminservice:
    image: apolloconfig/apollo-adminservice:latest
    container_name: adminservice
    ports:
      - 7902:7902
    volumes:
      - /opt/apollo/adminservice/logs:/opt/logs:rw
      - /opt/apollo/adminservice/conf:/opt/conf:rw
      - /etc/localtime:/etc/localtime:ro
    network_mode: host
    restart: always
    environment:
      - SERVER_PORT=7902
      - SPRING_DATASOURCE_URL=jdbc:mysql://172.11.0.2:3306/ApolloConfigDB?characterEncoding=utf8&useSSL=false
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=root
    depends_on:
      - configservice
    deploy:
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  portal:
    image: apolloconfig/apollo-portal:latest
    container_name: portal
    ports:
      - 7903:7903
    volumes:
      - /opt/apollo/portal/logs:/opt/logs:rw
      - /opt/apollo/portal/conf:/opt/conf:rw
      - /etc/localtime:/etc/localtime:ro
    network_mode: host
    restart: always
    environment:
      - SERVER_PORT=7903
      - SPRING_DATASOURCE_URL=jdbc:mysql://172.11.0.2:3306/ApolloPortalDB?characterEncoding=utf8&useSSL=false
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=root
      - APOLLO_PORTAL_ENVS=dev
      - DEV_META=http://124.71.212.147:7901
    depends_on:
      - configservice
      - adminservice
    deploy:
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure

注意#

すべてのポートを開放する#

configserviceサービスにはEurekaが含まれているため、他のサービスに対してポートを開放する必要があります。

adminserviceサービスは、設定のクエリや更新などの操作を提供します。

portalサービスは Apollo の設定ページであり、ポートも開放する必要があります。

クラウド環境のデプロイ#

ApolloConfigDB.ServerConfigに設定を追加します。eureka.instance.ip-address:<ip>(パブリック IP)

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。