电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

如何在Docker中部署一个可以被外部访问的Apollo配置中心

来源:金蝶云社区作者:金蝶2024-09-166

如何在Docker中部署一个可以被外部访问的Apollo配置中心

携程Apollo是一个基于Java开发的强大配置中心,提供了基于Docker的快速部署方案:https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-Start-Docker%E9%83%A8%E7%BD%B2

  但是通过官方部署方案部署完成之后,我们会发现,通过浏览器可以访问授权中心8070、8080端口,但是只有在同一网桥内部的程序可以成功获取Apollo中的配置信息,其他服务器或者网桥以外的程序无法成功获取配置需信息。

  通过观察,我发现问题原因如下:Apollo配置中心通过8080端口提供配置获取接口,其接口依赖Spring Eureka,默认情况下,Eureka使用的是网桥中该节点的IP地址端口号,以其他IP地址访问是不被允许的。

  依据该情况,我首先对Apollo提供的docker-compose文件做如下改动:

  1. 为apollo-quick-start容器增加环境变量,配置实例地址为容器所在宿主机IP地址。

  2. 对8090端口做映射,后面会用到。

  3. 为保证容器销毁后数据不丢失,为apollo-db节点增加目录映射,将数据库路径映射到宿主机中

  修改后docker-compose文件如下,高亮部分为个人增加部分:

复制代码
version: '2'services:
  apollo-quick-start:
    image: nobodyiam/apollo-quick-start
    container_name: apollo-quick-start   
    environment: 
      EUREKA_INSTANCE_IP_ADDRESS: '192.168.10.151'
    depends_on:      - apollo-db
    ports:      - "8090:8090"
      - "8080:8080"
      - "8070:8070"
    links:      - apollo-db

  apollo-db:
    image: mysql:5.7
    container_name: apollo-db
    environment:
      TZ: Asia/Shanghai
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    depends_on:      - apollo-dbdata
    ports:      - "13306:3306"
    volumes:      - ./sql:/docker-entrypo

如何在Docker中部署一个可以被外部访问的Apollo配置中心

携程Apollo是一个基于Java开发的强大配置中心,提供了基于Docker的快速部署方案:https://github.com/ctripcorp/apollo/wiki/Apollo-Quick-...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信