docker-compose部署Apollo并集成Spring boot
记录一下避免后续用到或者分享一下给有需要的人,Apollo新增配置发布这步网上太多就不写了
一、编写docker-compose.yml
版本说明
Apollo: 1.7.1
Mysql: 5.7.27
services:
mysql5.7:
container_name: mysql5.7
image: mysql:5.7.27
ports:
- "13306:3306"
volumes:
- ./mysql/data:/var/lib/mysql
- /etc/localtime:/etc/localtime:ro
command:
--max_connections=1000
--innodb-buffer-pool-size=2048M
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-time-zone=+8:00
--lower-case-table-names=1
--default-authentication-plugin=mysql_native_password
--sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
environment:
MYSQL_ROOT_PASSWORD: 数据库密码(TODO)
CONTAINER_TIMEZONE: Asia/Shanghai
restart: always
privileged: true
config-service:
image: apolloconfig/apollo-configservice:1.7.1
container_name: config-service
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://172.17.0.1:13306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=password
- EUREKA_INSTANCE_HOME_PAGE_URL=http://替换为具体的服务器IP地址(TODO):8080
ports:
- 8080:8080
depends_on:
- mysql5.7
admin-service:
image: apolloconfig/apollo-adminservice:1.7.1
container_name: admin-service
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://172.17.0.1:13306/ApolloConfigDB?useSSL=false&characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=password
- CONFIGSERVICE_URL=http://替换为具体的服务器IP地址(TODO):8080
- JAVA_OPTS=-Deureka.instance.homePageUrl=http://替换为具体的服务器IP地址(TODO):8090
ports:
- 8090:8090
depends_on:
- config-service
apollo-portal:
image: apolloconfig/apollo-portal:1.7.1
container_name: apollo-portal
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://172.17.0.1:13306/ApolloPortalDB?useSSL=false&characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=password
- APOLLO_PORTAL_ENVS=dev
- DEV_META=http://替换为具体的服务器IP地址:8080
- JAVA_OPTS=-Deureka.instance.homePageUrl=http://替换为具体的服务器IP地址(TODO):8070
ports:
- 8070:8070
depends_on:
- config-service
- admin-service
二、构建,并导入数据库
Apollo数据库SQL下载地址
github:https://github.com/apolloconfig/apollo/tree/1.7.1/scripts/docker-quick-start/sql //根据需要选择具体版本
网盘:https://pan.baidu.com/s/1Ieelw6y3adECgktO0ea0Gg 提取码:9wwe
#使用的是新版本的docker如果是旧版本的docker-compose命令可能需要替换为docker-compose
#先构建数据库
docker compose up -d mysql5.7 #密码为上面docker-compose.yml配置的MYSQL_ROOT_PASSWORD
#使用工具连接数据库执行初始化Apollo sql脚本
apolloconfigdb.sql
apolloportaldb.sql
#执行剩下的模块构建
docker compose up -d
#测试服务器IP:8070
http://ip:8070/ 账号密码:Apollo/admin
三、集成
- pom.xml引入maven依赖
<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.4.0</version>
</dependency>
- yml增加Apollo配置
app:
id: appid
apollo:
meta: http://apollo服务ip(TODO):8080
-
Spring boot 启用注解并使用
@EnableApolloConfig @SpringBootApplication public class TestProjectApplication { @Value("${key}") private String key; public static void main(String[] args) { SpringApplication.run(TestProjectApplication.class, args); } }

3055

被折叠的 条评论
为什么被折叠?



