Apollo使用(3):分布式docker部署

Apollo 1.7.0版本开始会默认上传Docker镜像到Docker Hub,可以按照如下步骤获取

一、获取镜像

1、Apollo Config Service

获取镜像

bash 复制代码
docker pull apolloconfig/apollo-configservice:${version}

我事先下载过该镜像,所以跳过该步骤。

2、Apollo Admin Service

获取镜像:

bash 复制代码
docker pull apolloconfig/apollo-adminservice:${version}

3、Apollo Portal

获取镜像

bash 复制代码
docker pull apolloconfig/apollo-portal:${version}

二、修改数据库

  • 修改数据库数据: ApolloPortalDB.ServerConfig organizations = {"orgId":"DEV","orgName":"DEV"},{"orgId":"TEST","orgName":"TEST"},{"orgId":"PRO","orgName":"PRO"}
  • 修改数据库数据:ApolloConfigDB.ServerConfig eureka.service.url = http://192.168.197.128:8080/eureka/

三、启动Apollo

创建apollo-docker-start.sh脚本文件:

bash 复制代码
# apollo 版本
version=2.2.0
# config service db地址 
db_cs_url=jdbc:mysql://192.168.230.1:3306/ApolloConfigDB?characterEncoding=utf8
db_cs_username=root
db_cs_password=root
# 对应cs的容器外可访问路径
cs_url=http://192.168.197.128:8060
# config service pro环境 db 地址
#db_cs_pro_url=jdbc:mysql://192.168.230.1:3306/ApolloConfigDB?characterEncoding=utf8
# 对应cs pro 的容器外可访问路径
#cs_pro_url=http://192.168.197.128:8061
# web
db_url=jdbc:mysql://192.168.230.1:3306/ApolloPortalDB?characterEncoding=utf8
db_username=root
db_password=root
function start(){
# 配置中心
docker run -p 8060:8080 \
    -e SPRING_DATASOURCE_URL=${db_cs_url} \
    -e SPRING_DATASOURCE_USERNAME=${db_cs_username} \
    -e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \
    -e EUREKA_INSTANCE_HOME_PAGE_URL=${cs_url} \
    -d -v /tmp/logs:/data/logs/cs \
    --name apollo-cs \
    apolloconfig/apollo-configservice:${version}
# 管理服务
docker run -p 8090:8090 \
    -e SPRING_DATASOURCE_URL=${db_cs_url} \
    -e SPRING_DATASOURCE_USERNAME=${db_cs_username} \
    -e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \
    -d -v /tmp/logs:/data/logs/cs \
    --name apollo-as \
    apolloconfig/apollo-adminservice:${version}
#----------------------成产环境-----------------------------
# 配置中心
#docker run -p 8061:8080 \
#    -e SPRING_DATASOURCE_URL=${db_cs_pro_url} \
#    -e SPRING_DATASOURCE_USERNAME=${db_cs_username} \
#    -e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \
#    -e EUREKA_INSTANCE_HOME_PAGE_URL=${cs_pro_url} \
#    -d -v /tmp/logs:/data/logs/cs \
#    --name apollo-cs1 \
#    apolloconfig/apollo-configservice:${version}
# 管理服务
#docker run -p 8091:8090 \
#    -e SPRING_DATASOURCE_URL=${db_cs_pro_url} \
#    -e SPRING_DATASOURCE_USERNAME=${db_cs_username} \
#    -e SPRING_DATASOURCE_PASSWORD=${db_cs_password} \
#    -d -v /tmp/logs:/data/logs/cs \
#    --name apollo-as1 \
#    apolloconfig/apollo-adminservice:${version}
# WEB
docker run -p 8070:8070 \
    -e SPRING_DATASOURCE_URL=${db_url} \
    -e SPRING_DATASOURCE_USERNAME=${db_username} \
    -e SPRING_DATASOURCE_PASSWORD=${db_password} \
    -e APOLLO_PORTAL_ENVS=TEST,PRO \
    -e TEST_META=${cs_url} \
    -e PRO_META=${cs_pro_url} \
    -d -v /tmp/logs:/data/logs/portal --name apollo-portal \
    apolloconfig/apollo-portal:${version}

}
start
# 删除容器脚本
# docker ps |grep apollo |awk '{ print $1}' | xargs docker rm -f 

执行脚本:

bash 复制代码
./apollo-docker-start.sh

查看启动日志:

相关推荐
大盛供应链·卢生3 小时前
哪些国产芯片可以替代进口芯片,哪些替代不了
fpga开发·容器
小小的木头人4 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
Mr小林8 小时前
Docker 安装教程(在线 + 离线)
运维·docker·容器
java_logo9 小时前
Docker 部署 Milvus:轻松搭建高性能向量数据库平台
数据库·docker·私有化部署·milvus·向量数据库·rag·轩辕镜像
wdfk_prog13 小时前
VMware Ubuntu 虚拟机从 124 GB 压缩到 33 GB
运维·缓存·docker·容器
九皇叔叔13 小时前
从本地事务到分布式事务
java·分布式·分布式事务·cap·base
刃神太酷啦15 小时前
Redis 核心进阶:哨兵、集群、缓存问题与分布式锁详解----《Hello Redis!》(6)
linux·c语言·数据库·c++·redis·分布式·缓存
闲云野鹤在人间15 小时前
Docker入门|第3章 镜像详解
linux·网络·docker·容器·centos·云计算·php
典典分享指南16 小时前
AI 配图的排版规范
macos·docker·github·vim·visual studio
程序员老赵16 小时前
Docker 部署 DeepSeek Harness:轻松搭建本地 AI Agent 运行时平台
docker·agent·deepseek