【发布时间】:2015-08-02 15:22:38
【问题描述】:
我有以下 Docker 容器:
-
web(nginx) -
db(mysql)
web 容器链接到 db 容器。所有标准的东西。
对于数据持久性,我想采用data volume container 的方法。
我希望能够使用这 2 个容器作为主应用程序容器来运行多个网站(嗯,从技术上讲,web 容器运行主要的面向用户的应用程序,db 位于其后面)。
假设我有siteA、siteB和siteC,分别在mysql中使用数据库A、B和C。
我希望能够将这些站点的数据库数据划分为 3 个不同的数据卷容器(dataA、dataB、dataC)以实现可移植性,并将它们集中在一个部署中(一台主机运行 @ 987654337@、db、dataA、dataB、dataC 都已正确链接)在需要时。
有没有办法将单独的 mysql 数据库分区到它们自己的数据卷容器中以实现可移植性? AFAIK,mysql 以某种不透明的方式将其所有数据库数据存储在 /var/lib/mysql mysql 存储的数据库的术语。
例如,如果将存储在 mysql 中的不同数据库映射到已知目录 - 在本例中为 /var/lib/mysql/A、/var/lib/mysql/B 和 /var/lib/mysql/C,那就太好了。这样,我所要做的就是保留这些目录并将它们安装在db 容器中。不过我不认为是这种情况。
【问题讨论】:
-
我猜你想要一个 mysql 服务器进程,它将每个数据库保存在不同的目录中。我在 mysql 文档中找不到类似的东西。也许将数据库定期转储到这些目录中并能够重新导入就足够了。否则我建议使用卢克的方式。
标签: mysql database nginx docker