修改Apollo的依赖版本包,并制作arm版本的镜像

由于一些安全因素,Apollo组件扫描出一些依赖插件存在安全漏洞,因此要修改部分依赖组件的版本,重新制作镜像,我们来看一下如何实现

1. 修改源码
1.1 拉取源码,并切换到我们需要的分支
# 拉取源码项目
git clone git@github.com:apolloconfig/apollo.git
# 切换到2.2.0版本
git checkout tags/v2.2.0
1.2 修改源码依赖
# 比如我们修改postgresql连接器的版本
<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>42.5.5</version>
</dependency>
2. 通过源码构建docker镜像

该脚本会依次打包apollo-configservice, apollo-adminservice, apollo-portal。

./scripts/build.sh
# 如果没有执行权限,可以执行 chmod +x ./scripts/build.sh  添加该文件的执行权限

构建 Docker 镜像

mvn docker:build -pl apollo-configservice,apollo-adminservice,apollo-portal

通过docker images命令查看镜像是否已经构建成功

3. 镜像测试
3.1 创建数据库,修改数据

分别执行apolloconfigdb.sql、apolloportaldb.sql创建数据库和表结构、初始化数据。
修改apolloconfigdb库的Serviceconfig表的key为eureka.service.url的这行的value列的数据,将http://localhost:8080/eureka中的localhost改为自己的电脑内网ip(使用ifconfig查看)
image.png

3.2 启动Apollo

apollo-configservice

docker run -p 8080:8080 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://172.20.10.4:3306/apolloconfigdb?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=lizy -e SPRING_DATASOURCE_PASSWORD="123456" \
    -d -v /Users/dliony/test/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice:2.2.0

apollo-adminservice

docker run -p 8090:8090 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://172.20.10.4:3306/apolloconfigdb?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=lizy -e SPRING_DATASOURCE_PASSWORD="123456" \
    -d -v /Users/dliony/test/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice:2.2.0

apollo-portal

docker run -p 8070:8070 \
    -e SPRING_DATASOURCE_URL="jdbc:mysql://172.20.10.4:3306/apolloportaldb?characterEncoding=utf8" \
    -e SPRING_DATASOURCE_USERNAME=lizy -e SPRING_DATASOURCE_PASSWORD="123456" \
    -e APOLLO_PORTAL_ENVS=dev \
    -e DEV_META=http://172.20.10.4:8080 -e local.meta=http://172.20.10.4:8080 \
    -d -v /Users/dliony/test/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal:2.1.0

注意:172.20.10.4为电脑的内网IP,容器环境下请不要写localhost/127.0.0.1

3.3 查看eureka中config和admin是否已经注册成功

地址:http://localhost:8080
image.png

3.4 登录Apollo

地址:http://localhost:8070
默认账号密码:apollo/admin

3.5 尝试创建namespace和配置项

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值