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

kar*_*son 0 mysql mariadb docker

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

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

我的问题是关于数据库.

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

  1. 在我的容器内安装并运行它以及其他服务?
  2. 在一个单独的容器中运行官方映像,并使用--linkDocker run命令选项将我的容器链接到它?

第一种选择有任何不利之处吗?

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

Far*_*ahi 5

Docker理念:将您的应用程序拆分microservices为每个应用程序并使用容器microservice.

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

一个HAProxy容器,nginx容器和nodejs容器.

通过这种方式microservices,您可以将应用程序划分为多个,并且可以在隔离环境中更轻松地升级,管理和排除故障.

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