我有两个docker-compose文件
/cface/docker-compose.yml
app-customer-facing:
build: .
depends_on:
- mysql-db
mysql-db:
container_name: staging-mysql-db
image: mysql:5.6
/aface/docker-compose.yml
app-admin-facing:
build: .
depends_on:
- mysql-db
mysql-db:
container_name: staging-mysql-db
image: mysql:5.6
我希望面向客户的容器和面向管理员的容器都依赖于相同的mysql-db容器。当前这不起作用,app-customer-facing
将以mysql-db开头,但是面向app-admin的应用将不会开始抛出:
ERROR: for mysql-db Cannot create container for service mysql-db: Conflict. The container name "/staging-mysql-db" is already in use by container "fe63e1ab0c1fd19236551bfc5930544cb31e649a4c18421c05959dc1274eb600". You have to remove (or rename) that container to be able to reuse that name.
答案 0 :(得分:0)
错误是您正在复制 mysql-db 服务,没有重新使用它。这就是为什么您会收到一条错误消息,告诉您已经有一个名为 staging-mysql-db 的容器。
要解决用例,您必须扩展docker-compose文件。
您可以看到一个示例here。请参见基本上是您要尝试执行的 ADMINISTRATIVE TASKS (行政任务)框。