Docker-使用容器名称撰写问题

Docker-Compose Issue with container name

我已经创建了一个包含所需包的 docker 图像。我有 运行 docker 图像指定主机和来宾端口以及所需的卷安装 示例:


sudo docker run -it --name CONTAINERNAME -v /host:/guest -p
hostportno:guestportno

我的容器已启动,运行一切正常。
我正在尝试使用 docker-compose.
将我的容器迁移到新的 docker 图像 我已经创建了 docker-compose.yml 文件并指定了所需的参数,如下所示:

image: test1
ports
  - "1234:123"
  - "2000:223"  
volumes:
  - /home:/test  
  -container_name: dockercomposetest  
working_dir: /test  
command: /bin/bash

我无法使用 docker-compose 迁移它。
我遇到如下问题:

Conflict. The name "test" is already in use by container eeedac72bb25.
You have to delete (or rename) that container to be able to reuse that
name.

目前的解决方法是我必须停止并删除容器并执行 docker-compose up
我不能 restart/migrate 使用 docker-compose 的容器与我在正常 docker run 过程中启动的名称相同吗?

不可以,不能有两个同名的容器。您必须为 container_name 字段选择一个不同的名称。需要删除之前的容器才能re-use名称。

如果您希望 Compose 将容器视为自己创建的容器,则必须像 Compose 一样设置容器标签。找到这些的最简单方法是让 compose 创建一个容器(可能通过删除 container_name 字段),然后使用 docker inspect 查看标签。