SQLgateway-M7-split --
我之前关于SQLgateway 迁移的系列文章,是一篇篇幅较长的文章,介绍了
了可用的各种方案。不过它既不易操作,又难以追踪。
因此,我的挑战是:如何“吃掉一头大象”?>> 把它切成小块!!
我的目标是兼顾两点:既能独立创建每个容器,又能
同时支持一键构建整个集合。因此现在可以
在不影响其他容器的情况下修复单个容器的问题。
结果证明,这变成了一次关于 Docker 网络和脚本编写的实践,
- 每次执行 Docker-Compose Up 都会创建一个独立的网络。因此,与
前面的示例那样简单地启动,也会生成8个彼此隔离的网络。
解决方案:定义一个公共网络并将容器加入其中。
现在 TCP/JDBC 可以找到服务器,而且我们再也不会遇到端口冲突了 - 为了启动所有容器而连续执行 8 次 `docker-compose up -d` 实在不太好玩
- 解决方案:Docker Compose 提供了一个 INCLUDE 指令。只需点击一下,一切就搞定了。
include:
- ./iris1/docker-compose.yml
- ./cache/docker-compose.yml
- ./ibmDB2/docker-compose.yml
- ./iris2/docker-compose.yml
- ./MSsql/docker-compose.yml
- ./mysql/docker-compose.yml
- ./ORACLE/docker-compose.yml
- ./postgres/docker-compose.yml现在,您可以从顶层创建所有容器,或进入
子目录中,针对单个启动项进行操作。这是一项
用于调试或清理容器。
但存在一个我尚未解决的实际限制:
如果将MSSQL容器与其他容器一起构建在“团队”中,它将无法正常工作。
不过,如果将其隔离构建且没有严重资源竞争,它就能正常运行。
早在下载过程中,MS SQL 就表现得像个懒惰的混蛋,如果
如果它是我的员工,我早就开除它了,并会寻找更好的迁移方案。 🥸

讨论 (0)0