docker 移除掉運行不正常的container操作
本菜鳥在剛學習docker的時候遇到了這樣的問題,記錄一下,
當啟動一個container的時候,docker ps 看到剛啟動的容器有問題,
然后docker logs <container id> 才知道權限不夠,未能創建目錄。然后想啟動,但是當前的container一直處于restarting ,然后docker stop 試了一下,返回成功,然后docker ps 當前container 依然存在,然后docker kill的時候提示容器未啟動,docker -help 看了一下,docker rm 移除容器。
但改命令無法移除一個restarting 狀態的容器。
需要先docker stop<container id> 然后在docker rm 掉。
當然 啟動不成功也是因為沒有權限,docker 容器無權限 添加 --privileged=true 參數 。
在docker-compose的時候 docker-compose up會優先使用已有的容器,而不是重新創建容器。需要帶上 --force-recreate 參數重新創建容器 docker-compose up -d --force-recreate
本人docker 菜鳥,記錄一下自己遇到的問題,勿噴。
補充:Docker刪除大量停止的container
1. 怎么做官方建議的批量刪除停止容器使用docker rm $(sudo docker ps -a -q)
千萬不要用 docker rm -f $(sudo docker ps -a -q),會刪除全部容器的
2. 為什么這么做1. docker ps -a -qdocker ps 命令的解釋:
docker ps -a -q 列出所有容器的數字ID
root@haha:~# docker ps --helpUsage: docker ps [OPTIONS]List containersOptions: -a, --all Show all containers (default shows just running) -f, --filter value Filter output based on conditions provided (default []) --format string Pretty-print containers using a Go template --help Print usage -n, --last int Show n last created containers (includes all states) (default -1) -l, --latest Show the latest created container (includes all states) --no-trunc Don‘t truncate output -q, --quiet Only display numeric IDs -s, --size Display total file sizes
具體看看,docker ps 是列出容器的命令
- a 列出所有的容器- q 只顯示數字ID 2. docker rm命令的解釋:
root@haha:~# docker rm --helpUsage: docker rm [OPTIONS] CONTAINER [CONTAINER...]Remove one or more containersOptions: -f, --force Force the removal of a running container (uses SIGKILL) --help Print usage -l, --link Remove the specified link -v, --volumes Remove the volumes associated with the container
- f 強制刪除,可以刪除正在運行的容器
- v 容器啟動后,數據會以volumes的形式存在于硬盤中,即使刪除了container數據也不會刪除,加上這個參數那么容器執行的數據也會被刪除
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章:
