簡體   English   中英

docker/docker-compose 中的“down”和“rm”有什么區別?

[英]What's the difference between 'down' and 'rm' in docker/docker-compose?

docker-compose downdocker-compose rmdocker rm的文檔讀起來非常相似。 有什么不同? 你什么時候會使用一個而不是其他的?

  • docker-compose down ”:停止並刪除包含所有網絡(但不是卷)的容器,您應該添加 -v 選項來執行此操作。
  • docker-compose rm ”:僅刪除已停止的容器,而不是正在運行的容器,您應該添加選項 -s 以便能夠刪除正在運行的容器

現在,“ docker-compose rm ”和“ docker rm ”之間的區別在於,當您在 docker-compose.yml 文件中進行影響容器的更改時,您無法刪除舊的 docker-compose 創建的容器。 yml 使用“docker-compose rm”,所以在這種情況下你應該使用“docker rm”來做到這一點。

如果還是不明白,可以試試這個例子:

  1. 使用“docker-compose up”運行容器
  2. 現在使用“docker-compse stop”停止容器而不刪除它
  3. 在 docker-compose.yml 中更改容器的名稱
  4. 運行“docker-compose up”--> 將使用新名稱創建一個新容器。
  5. 現在,如果您嘗試使用“ docker-compose rm old_container_name”刪除舊容器,您將收到此錯誤:沒有此類服務。
  6. 在這種情況下,您只能使用“ docker container rm old_container_name”刪除舊容器。

rm - 刪除停止的服務容器。

down - 停止容器並刪除由 up 創建的容器、網絡、卷和圖像。

暫無
暫無

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

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