简介
Apollo(阿波罗)是一款可靠的分布式配置管理中心,服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
快速安装
最快速的方式基本上就是基于docker-compose方式安装,调研期间可以随意销毁重建,不用担心改动到服务器的环境配置。迁移到正式环境只需要更改配置文件即可,也不会因为测试机器环境不同出现新的问题,这也是为什么我喜欢用这种方式的原因。
官方也推荐了很多方式安装:Apollo部署文档
docker-compose方式安装
本版本v2.3.0基于2024-10-18的最新版安装,安装apollo时通常已经安装好mysql了,所以docker-compose文件中无mysql的安装文件。
注意事项:
- mysql8.0版本使用密码连接时需要配置该参数,因为8.0的密码插件有改动。 allowPublicKeyRetrieval=true
- 根据官方文档说明,参数分割符需要使用&&而不是&
- docker中注册到eureka时的ip和端口时需要是内网ip而不是docker容器中的地址:需要使用如下方式才能生效,- “JAVA_OPTS=-Deureka.instance.homePageUrl=http://内网IP:8090”。
准备工作
- mysql脚本下载与导入
github apollo sql脚本下载 giteeV2.2.0版本sql,可能无法使用
注意事项:sql中创建的库名为驼峰命名法,需要全部改成小写后再导入。
- docker-compose文件
version: "3"
services:
apollo-configservice:
container_name: apollo-configservice
image: apolloconfig/apollo-configservice:2.3.0
restart: always
ports:
- "8080:8080"
volumes:
- "/data/docker_data/apollo/logs:/opt/logs"
environment:
- "JAVA_OPTS=-Deureka.instance.homePageUrl=http://内网IP:8080"
- TZ='Asia/Shanghai'
- SERVER_PORT=8080
- EUREKA_INSTANCE_IP_ADDRESS=内网IP
- EUREKA_SERVICE_URL=http://内网IP:8080/eureka/
- SPRING_DATASOURCE_URL=jdbc:mysql://mysqlip:3306/apolloconfigdb?useUnicode=true&&characterEncoding=utf-8&&serverTimezone=Asia/Shanghai&&useSSL=false&&allowPublicKeyRetrieval=