这篇文章上次修改于 938 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
Apollo 的安装实在是太麻烦了,按照官方的安装方式要折腾死人,后来在网上找到一个网友整理的 Docker 安装镜像,简化了安装过程,但其中有一些坑,特此记录安装过程,以免后续再踩坑。
安装环境
- 操作系统:CentOS Linux release 7.8.2003 (Core)
- Docker 版本:Docker version 19.03.0, build aeac9490dc
- 宿主机 IP:192.168.20.105
安装过程
本来 Apollo 的安装也不是很复杂,但由于在 Docker 中安装,宿主机 IP、数据库 IP、容器内各服务 IP、Eureka 注册中心 IP,有些地方需要填宿主机 IP,有些地方又需要填容器内部 IP,稍微填错一个就会出问题。
mkdir /home/ctrip-apollo
cd /home/ctrip-apollo
vi apollo-env.properties
,文件内容如下:#本地默认环境配置,没啥用 local.meta=http://localhost:8080 #下面的环境,你有几个就添加几个,没有的或者不需要的可以直接删掉 dev.meta=http://172.22.0.11:8080 #fat.meta=http://172.22.0.11:8080 #uat.meta=http://172.22.0.11:8080 #lpt.meta=http://172.22.0.11:8080 #pro.meta=http://172.22.0.11:8080
vi docker-compose.yml
,文件内容如下:version: "2" services: apollo-mysql: container_name: apollo-mysql image: pengfeilu/apollo-mysql:5.7.22_1.6.0 ports: - "13306:3306" environment: - MYSQL_ROOT_PASSWORD=root - UPDATE_EUREKA_URL_SQL=update ApolloConfigDB.ServerConfig set `Value`="http://172.22.0.11:8080/eureka/" where `Key`="eureka.service.url" networks: apollonet: ipv4_address: 172.22.0.10 apollo-configservice: container_name: apollo-configservice image: pengfeilu/apollo-configservice:1.6.0 ports: - "8080:8080" depends_on: - apollo-mysql volumes: - "/opt/logs/100003171:/opt/logs/100003171" environment: - spring_datasource_url=jdbc:mysql://172.22.0.10:3306/ApolloConfigDB?characterEncoding=utf8 - spring_datasource_username=root - spring_datasource_password=root - host_ip=192.168.20.105 # 填写宿主机IP networks: apollonet: ipv4_address: 172.22.0.11 apollo-adminservice: container_name: apollo-adminservice image: pengfeilu/apollo-adminservice:1.6.0 ports: - "8090:8090" depends_on: - apollo-mysql - apollo-configservice links: - apollo-configservice volumes: - "/opt/logs/100003172:/opt/logs/100003172" environment: - spring_datasource_url=jdbc:mysql://172.22.0.10:3306/ApolloConfigDB?characterEncoding=utf8 - spring_datasource_username=root - spring_datasource_password=root - host_ip=172.22.0.12 # 这里一定要填写apollo-adminservice容器内部IP networks: apollonet: ipv4_address: 172.22.0.12 apolo-portal: container_name: apollo-portal image: pengfeilu/apollo-portal:1.6.0 ports: - "8070:8070" volumes: - "/opt/logs/100003173:/opt/logs/100003173" - "/home/ctrip-apollo/apollo-env.properties:/apollo-portal/config/apollo-env.properties" environment: - spring_datasource_url=jdbc:mysql://172.22.0.10:3306/ApolloPortalDB?characterEncoding=utf8 - spring_datasource_username=root - spring_datasource_password=root networks: apollonet: ipv4_address: 172.22.0.13 networks: apollonet: driver: bridge ipam: driver: default config: - subnet: 172.22.0.0/16 gateway: 172.22.0.1
docker-compose up -d
- 打开浏览器,输入
http://192.168.20.105:8070/
就可以访问 Apollo 配置中心了
没有评论