Docker部署Apollo分布式环境

简介:

在一个Docker容器中部署Dev和Pro双配置环境。

应用镜像:https://hub.docker.com/r/idoop/docker-apollo/

里面说明很清晰,不过有些地方需要我们部署后手工调整,很坑啊。

一、创建数据库和表

参考:官方文档

创建三个数据库:

然后分别通过官方的sql建立表结构

二、创建Docker容器

经验证Network可以使用bridge桥接模式。

配置容器的ENV环境变量:

# 开启Portal,默认端口: 8070
PORTAL_DB: jdbc:mysql://192.168.1.28:3306/ApolloPortalDB?characterEncoding=utf8
PORTAL_DB_USER: root
PORTAL_DB_PWD: toor

# 开启dev环境, 默认端口: config 8080, admin 8090
DEV_DB: jdbc:mysql://192.168.1.28:3306/ApolloConfigDBDev?characterEncoding=utf8
DEV_DB_USER: root
DEV_DB_PWD: toor

# 开启pro环境, 默认端口: config 8083, admin 8093
DEV_DB: jdbc:mysql://192.168.1.28:3306/ApolloConfigDBPro?characterEncoding=utf8
DEV_DB_USER: root
DEV_DB_PWD: toor

我们都采用默认端口,注意不要跟其他容器端口冲突。

然后我们就启动容器吧。

三、调整配置

1.修改apollo默认密码

新版本可以在界面中进行修改了,进入用户管理界面:

官方文档中写的很明确,update or create,也就是用户名已存在的会进行更新。我们直接填写apollo,然后修改为新密码即可。

2.配置部门列表

修改ApolloPortalDB数据库,表ServerConfig的organizations字段:

3.调整Pro的Eureka连接地址(很坑的一个地方)

默认的话都会连接到8080的Eureka上,这样会出问题的,配置混乱。

我们修改数据库ApolloConfigDBPro中的ServerConfig表里面的eureka.service.url字段

可以看到默认为8080,我们修改为8083即可。

我们重启容器服务,然后可以验证一下:

访问8080端口和8083端口,看到都是对应的就说明配置正确了。

 

目录
相关文章
|
4月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1925 4
|
4月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
224 5
|
4月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1367 7
|
4月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
3272 10
|
4月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
769 5
|
6月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
468 2
|
6月前
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
415 6
|
7月前
|
存储 缓存 NoSQL
Redis核心数据结构与分布式锁实现详解
Redis 是高性能键值数据库,支持多种数据结构,如字符串、列表、集合、哈希、有序集合等,广泛用于缓存、消息队列和实时数据处理。本文详解其核心数据结构及分布式锁实现,帮助开发者提升系统性能与并发控制能力。

热门文章

最新文章