![](/img/trans.png)
[英]Are there anyway I can run commands through `docker-compose`, like instantiate containers, run commands, stop containers?
[英]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
我也嘗試過其他命令rm
, kill
等。
我該怎么做才能擺脫這些容器?
編輯:
修復了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_1和project_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.