【发布时间】:2016-11-15 06:26:32
【问题描述】:
我计划将我的应用程序堆栈迁移到 Docker。让我描述一下我目前正在使用的服务:
- HAProxy,用于在所有服务的连接(HTTP 和原始 TCP 连接)上终止 SSL,并将流量转发到下面的服务。
- Nginx,提供静态文件,例如更新和一些信息页面。
- Node.js,运行主要应用程序。
- MySQL (MariaDB),所有应用程序使用和共享的数据库。
我的问题是关于数据库的。
在这种情况下运行 MariaDB 的正确方法是什么?
- 在我的容器中安装并运行它以及其他服务?
- 在单独的容器中运行official image,并使用Docker 的
run命令的--link选项将我的容器链接到它?
第一个选项有什么缺点吗?
TeamSpeak docker container 使用第二个选项,这让我质疑自己在我的案例中运行数据库的正确方法,但我更倾向于将所有服务打包到我自己的镜像中。
【问题讨论】:
-
请查看
docker-compose适合您的情况。 -
请解释为什么 Docker 对任何堆栈都有优势。 (我并不是反对 Docker,而是希望得出一个满足您需求的答案。)