apollo容器部署时踩过的坑--Could not complete get operation

apollo踩坑–各个docker网络设置
一、背景
近期微服务架构中的配置中心选型为携程的apollo。主要基于它诸多有点,类似修改热发布、界面化配置、配置继承、修改和发布可以不同人操作、配置版本管理等。
在config service\admin service\portal service\db几个基础服务,在容器中同一网络构建后,客户端访问meta service,提示报错,无法连接

Long polling failed, will retry in 8 seconds. appId: test001, cluster: default, namespaces: application, long polling url: http://b0d064c77084:6060/notifications/v2?cluster=default&appId=test001&ip=192.168.111.1&notifications=%5B%7B%22namespaceName%22%3A%22application%22%2C%22notificationId%22%3A-1%7D%5D, reason: Could not complete get operation [Cause: b0d064c77084]
其中b0d064c77084为meta service所在容器的主机名

二、解决办法
config service 和 admin service 指定eureka的注册地址为宿主机的ip+port
在每个服务的环境变量中指明,具体为:

apollo-configservice-dev:
environment:
- eureka.service.url=http://apollo-configservice-dev:6060/eureka/
- eureka.instance.home-page-url=http://宿主机ip+configservice端口
apollo-adminservice-dev:
environment:
- eureka.service.url=http://apollo-configservice-dev:6061/eureka/
- eureka.instance.home-page-url=http://宿主机ip+adminservice端口

三、延伸理解
客户端访问meta service,指定的为宿主机ip+port,默认注册中心注册的服务为容器的信息,但是容器信息,客户端时无法直接访问的,所以主要注册宿主机信息,然后通过宿主机和容器的映射,让客户端通过宿主机找到容器服务。
四、参考
apollo github wiki 分布式部署 网络设置

### 回答1: Apollo Docker Quick Start Files是用于在Docker容器中快速启动Apollo配置中心的文件集合。Apollo配置中心是携程框架部门开发的分布式配置管理平台,用于实现配置集中管理和动态配置更新的需求。 使用Docker容器来快速启动Apollo配置中心可以提高开发和部署的效率,方便跨平台和环境的使用。Apollo Docker Quick Start Files包含了配置中心的相关配置文件、Dockerfile和启动脚本等,使用这些文件可以快速构建和启动配置中心的Docker容器。 在启动Docker容器之前,我们需要先配置好Apollo配置中心的相关信息,在配置文件中指定数据库、端口等参数。然后,使用Docker命令构建Docker镜像并生成Docker容器,通过运行启动脚本,让Docker容器启动并运行Apollo配置中心。 通过使用Apollo Docker Quick Start Files,可以方便地在各种环境中部署和启动Apollo配置中心,提高系统的可维护性和可扩展性。同,通过Docker的特性,我们可以更好地管理和监控配置中心的运行状态,更灵活地进行配置的更新和维护。 总之,Apollo Docker Quick Start Files提供了一种便捷的方式来快速部署和启动Apollo配置中心,使得我们能够更加高效地管理和使用分布式配置,提高系统的稳定性和可靠性。 ### 回答2: Apollo是一个分布式配置中心,用于管理和配置分布式系统中的应用程序的配置信息。Docker是一种容器化平台,可以将应用程序打包成容器,并在不同的环境中快速部署和运行。 Apollo-Docker-Quick-Start-Files是一个用于快速开始使用ApolloDocker的文件集合。它包含了一系列的配置文件和脚本,可以帮助用户快速搭建Apollo配置中心和使用Docker部署应用程序。 在这个文件集合中,用户可以找到一些配置文件示例,如application.properties和meta-server.properties,这些文件定义了Apollo的配置中心和元数据服务器的相关配置信息。用户可以根据自己的需要进行修改和定制。 此外,还有一些脚本文件,如docker-compose.yaml和Dockerfile。这些文件用于定义Docker容器的构建和部署规则。用户可以使用docker-compose命令,根据docker-compose.yaml文件一键启动Apollo配置中心和应用程序的Docker容器。 使用Apollo-Docker-Quick-Start-Files,用户可以轻松地搭建Apollo配置中心和部署应用程序。它提供了一种快捷的方式,帮助用户快速入门并使用ApolloDocker进行分布式系统的配置和部署管理。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值