簡體   English   中英

停止容器如何運行`docker-compose run`

[英]How stop containers run with `docker-compose run`

我正在嘗試使用docker-compose來編排幾個容器。 要進行故障排除,我經常最終通過執行以下操作從容器中運行bash:

$ docker-compose run --rm run web bash

我總是嘗試傳遞--rm開關,以便在退出bash會話時刪除這些容器。 有時候,它們仍然存在,我在docker-compose ps輸出中看到它們。

           Name                          Command                State      Ports
----------------------------------------------------------------------------------
project_nginx_1            /usr/sbin/nginx                  Exit 0
project_nginx_run_1        bash                             Up         80/tcp
project_web_1              python manage.py runserver ...   Exit 128
project_web_run_1          bash                             Up         8000/tcp

此時,我試圖手動停止並刪除這些組件,但我無法做到這一點。 我試過了:

$ docker-compose stop project_nginx_run_1
No such service: project_nginx_run_1

我也嘗試過其他命令rmkill等。

我該怎么做才能擺脫這些容器?

編輯:

修復了docker-compose ps的輸出。

只需使用docker stop命令停止這些測試容器,而不是使用docker-compose

docker-compose在一起啟動許多容器時會發光,但是使用docker-compose啟動容器並不會阻止你使用docker命令來執行你需要對單個容器執行的任何操作。

docker stop project_nginx_run_1 project_web_run_1 

此外,由於您正在調試容器,我建議使用docker-compose exec <service id> bash在正在運行的容器中獲取shell。 這具有不啟動新容器的優點。

使用docker-compose,可以通過兩種方式停止服務,但我想添加一些有關這兩個選項的詳細信息。

簡而言之

docker-compose down

停止並刪除容器,網絡,圖像和卷

docker-compose stop

停止服務


詳細地

如果docker-compose run啟動服務project_nginx_run_1project_web_run_1 ,那么

docker-compose down log將是

$ docker-compose down
Stopping project_nginx_run_1 ...
Stopping project_web_run_1 ...

.
. some service logs goes here

Stopping project_web_run_1 ... done
Stopping project_nginx_run_1 ... done
Removing project_web_run_1 ... done
Removing project_nginx_run_1 ... done
Removing network project_default

docker-compose stop日志將是

$ docker-compose stop
Stopping project_nginx_run_1 ...
Stopping project_web_run_1 ...

.
. some service logs goes here

Stopping project_web_run_1 ... done
Stopping project_nginx_run_1 ... done

docker不同, docker-compose使用yml文件中定義的容器名稱。 因此,要停止一個容器,命令將是:

docker-compose stop nginx_run
docker-compose down

從它啟動的目錄中,是我設法確認它被停止的唯一方法,因為在docker-compose ps不再產生它!

暫無
暫無

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

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