我可以在 Docker Compose 中创建相应的副本吗?

Can I create corresponding replicas in Docker Compose?

我正在构建一个使用多个 Celery worker(处理队列中的任务)的应用程序。工作人员应该 运行 一些针对 MySQL 数据库的脚本,该数据库也是容器化的。具体来说,每个工作人员应该 运行 将其脚本放在 不同的 MySQL 容器中。我想知道的是我是否可以创建一个干净的 MySQL 容器的副本,并使工作副本 1 仅尝试 运行 针对 MySQL 副本 1 的脚本,等等

我当前的概念验证从 worker 中启动了一个新的 MySQL 容器,但这是一个性能噩梦,并且具有安全隐患。

简单的回答,是的,您可以创建干净的 mysql 容器的副本,只需相应地命名服务即可。

需要注意的是,您不能 share/access 来自一个 mysql 容器的数据与另一个容器。如果您在单个 mysql 容器中使用不同的数据库会更好,这将更加性能友好且易于备份。

要在不同的 mysql 容器之间共享数据,您只需要设置 mysql master slave。