簡體   English   中英

容器名稱的Docker-Compose問題

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

docker-compose up手冊頁中

如果要強制Compose停止並重新創建所有容器,請使用--force-recreate標志。

 --force-recreate  

重新創建容器,即使它們的配置和映像沒有改變

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM