携程apollo docker-compose 安装教程

网上很多教你怎么安装,但是你安装完之后客户端连接不上.

当你安装完报错 [Cause: Could not complete get operation [Cause: Read

那是因为apollo-configservic 和apollo-adminservice注册地址有问题.

apollo 配置中心 dev当前环境缺失 是注册地址有问题

同一台机器docker安装 

version: '3.7'

services:
  apollo-configservice:
    container_name: apollo-configservice
    image: apolloconfig/apollo-configservice
    volumes:
      - type: volume
        source: logs
        target: /opt/logs
    ports:
      - '9001:9001'
    environment:
      - SERVER_PORT=9001
      - SPRING_DATASOURCE_URL=jdbc:mysql://192.168.18.156:3306/ApolloConfigDB?characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=shadow
      - EUREKA_INSTANCE_HOME_PAGE_URL=http://192.168.18.156:9001 //注意这个地方
    restart: always

  apollo-adminservice:
    depends_on:
      - apollo-configservice
    container_name: apollo-adminservice
    image: apolloconfig/apollo-adminservice
    volumes:
      - type: volume
        source: logs
        target: /opt/logs
    ports:
      - '9002:9002'
    environment:
      - SERVER_PORT=9002
      - SPRING_DATASOURCE_URL=jdbc:mysql://192.168.18.156:3306/ApolloConfigDB?characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=shadow
      - EUREKA_INSTANCE_HOME_PAGE_URL=http://192.168.18.156:9002 //注意这个地方
    restart: always

  apollo-portal:
    depends_on:
      - apollo-adminservice
    container_name: apollo-portal
    image: apolloconfig/apollo-portal
    volumes:
      - type: volume
        source: logs
        target: /opt/logs
    ports:
      - '9003:9003'
    environment:  
      - SERVER_PORT=9003
      - SPRING_DATASOURCE_URL=jdbc:mysql://192.168.18.156:3306/ApolloPortalDB?characterEncoding=utf8
      - SPRING_DATASOURCE_USERNAME=root
      - SPRING_DATASOURCE_PASSWORD=shadow
      - APOLLO_PORTAL_ENVS=pro
      - PRO_META=http://192.168.18.156:9001 //注意这个地方
    restart: always

volumes:
  logs:
    driver: local
    driver_opts:
      type: none
      o: bind
      device: /tmp/logs //这个地方需要提前创建文件夹

docker安装 大多都是ip访问不到报错

eureka.instance.ip-address可以指定ip 但是不能指定端口,如果你的宿主机和虚拟机映射端口一样就可以使用这个参数

eureka.instance.homePageUrl 这个可以指定ip和端口. 注意apollo-configservic 和apollo-adminservice不要弄错了.

另外一种方式是直接指定要注册的IP,可以修改startup.sh,通过JVM System Property在运行时传入,如-Deureka.instance.ip-address=${指定的IP},也可以通过OS Environment Variable,如EUREKA_INSTANCE_IP_ADDRESS=${指定的IP},或者也可以修改apollo-adminservice或apollo-configservice 的bootstrap.yml文件,加入以下配置

eureka:
  instance:
    ip-address: ${指定的IP}

最后一种方式是直接指定要注册的IP+PORT,可以修改startup.sh,通过JVM System Property在运行时传入,如-Deureka.instance.homePageUrl=http://${指定的IP}:${指定的Port},也可以通过OS Environment Variable,如EUREKA_INSTANCE_HOME_PAGE_URL=http://${指定的IP}:${指定的Port},或者也可以修改apollo-adminservice或apollo-configservice 的bootstrap.yml文件,加入以下配置

数据库修改地方

携程apollo docker-compose 安装教程_第1张图片

 安装成功

携程apollo docker-compose 安装教程_第2张图片

 

非docker安装 修改启动文件对应地址就可以了

你可能感兴趣的:(docker)