使用MySQL / MariaDB数据库创建Docker容器

时间:2016-11-15 06:26:33

标签: mysql docker mariadb

我打算将我的应用程序堆栈迁移到Docker。让我来描述我目前使用的服务:

  • HAProxy ,用于在所有服务的连接(HTTP和原始TCP连接)上进行SSL终止,并将流量转发到以下服务。
  • Nginx ,提供静态文件,例如更新和一些信息页。
  • Node.js ,运行主要应用程序。
  • MySQL(MariaDB),所有应用程序使用和共享的数据库。

我的问题是关于数据库。

在这种情况下运行MariaDB的正确方法是什么?

  1. 在我的容器内安装并运行它以及其他服务吗?
  2. 在一个单独的容器中运行official image,并使用Docker --link命令的run选项将我的容器链接到它?
  3. 第一种选择有不利之处吗?

    TeamSpeak docker container使用了第二个选项,这就是让我自己质疑在我的情况下运行数据库的正确方法的原因,但我更倾向于将所有服务打包在我自己的图像中。

1 个答案:

答案 0 :(得分:5)

Docker Philosophy:将您的应用程序拆分为<span class="count" data-count="10">10</span> 并为每个microservices使用容器。

在您的情况下,我建议使用microservice容器,使用官方(MariaDB)图片可让您更轻松地进行更新管理,但可以随意使用自定义图像。

Library容器,HAProxy容器和nginx容器。

这样您就可以将应用程序划分为nodejs,并且可以在隔离环境中更轻松地升级,管理和排除故障。

如果您正在考虑通过docker将应用程序交付给最终用户,那么简单的microservices文件就可以轻松启动所需的容器。