我创建了一个包含所需包的docker镜像。我已经运行了docker镜像,指定了主机和访客端口以及所需的卷安装 例如:
sudo docker run -it --name CONTAINERNAME -v /host:/guest -p
hostportno:guestportno
我的容器运行良好
我正在尝试使用docker-compose
将容器迁移到新的泊坞窗图像
我创建了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重新启动/迁移容器。
答案 0 :(得分:2)
不,您不能拥有两个名称相同的容器。您必须为container_name
字段选择其他名称。在重新使用名称之前,需要先删除上一个容器。
如果您希望Compose将容器视为已创建它,则必须将容器标签设置为Compose。查找这些内容的最简单方法是创建一个容器(可能是删除container_name
字段),然后使用docker inspect
查看标签。
答案 1 :(得分:0)
您可以查看--force-recreate
是否有帮助:
docker-compose up --force-recreate
如果要强制Compose停止并重新创建所有容器,请使用
--force-recreate
标志。
--force-recreate
重新创建容器即使其配置和图像无法更改