[英]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.