[英]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
。
我是否可以使用与正常docker run
过程中启动的名称相同的名称使用docker-compose重新启动/迁移容器。
不可以,您不能有两个名称相同的容器。 您必须为container_name
字段选择其他名称。 您必须先删除以前的容器,然后才能重新使用该名称。
如果希望Compose将容器视为已创建容器,则必须像Compose一样设置容器标签。 查找这些内容的最简单方法是compose创建一个容器(可能通过删除container_name
字段),然后使用docker inspect
查看标签。
您可以检查--force-recreate
是否有帮助:
docker-compose up --force-recreate
如果要强制Compose停止并重新创建所有容器,请使用
--force-recreate
标志。
--force-recreate
重新创建容器,即使它们的配置和映像没有改变
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.