通过保留容器来重命名项目

Pie*_*NAY 5 docker docker-compose

我决定更改Docker组合的项目名称:

$ docker-compose -p old_name up -d # Before
Starting old_name_web_1
$ docker-compose -p new_name up -d # After
Creating new_name_web_1
Run Code Online (Sandbox Code Playgroud)

但是我不想删除我的容器,所以我将其重命名:

$ docker rename old_name_web_1 new_name_web_1
...
Run Code Online (Sandbox Code Playgroud)

我以为docker-compose是基于容器名称的,但事实并非如此:

$ docker-compose -p new_name up -d
Run Code Online (Sandbox Code Playgroud)

错误:对于Web无法创建服务Web的容器:冲突。名称“ / new_name_web_1”已被容器4930deaabb [...]使用。您必须删除(或重命名)该容器才能重用该名称。错误:启动项目时遇到错误。

如何将旧容器重新链接到新组合?

Von*_*onC 1

docker-compose虽然重用现有容器确实如此,但此评论提到

docker-compose默认情况下使用 yml 文件的文件夹名称作为项目名称,并将该名称作为所有容器名称的前缀。

这可以解释为什么docker-compose up没有选择新的容器名称。