Docker 技巧:刪除 Docker 容器和鏡像

 

 

默認安裝完 docker 後,每次執行 docker 都須要運行 sudo 命令,很是浪費時間影響效率。若是不跟 sudo,直接執行 docker images 命令會有以下問題:nginx

Get http:///var/run/docker.sock/v1.15/containers/json: dial unix /var/run/docker.sock: permission denied

因而考慮如何免 sudo 使用 docker,通過查找資料,發現只要把用戶加入 docker 用戶組便可,具體用法以下。docker

免 sudo 使用 docker

若是尚未 docker group 就添加一個:json

sudo groupadd docker

ubuntu下,經過一下命令來看有沒有groupubuntu

cat /ect/group

將用戶加入該 group 內。而後退出並從新登陸就生效啦。緩存

sudo gpasswd -a ${USER} docker

重啓 docker 服務bash

sudo service docker restart

group 或者重啓 X 會話post

newgrp - docker
或者
pkill X

注意,最後一步是必須的,不然由於 groups 命令獲取到的是緩存的組信息,剛添加的組信息未能生效,因此 docker images 執行時一樣有錯。ui

緣由分析

由於 /var/run/docker.sock 所屬 docker 組具備 setuid 權限spa

$ sudo ls -l /var/run/docker.sock srw-rw---- 1 root docker 0 May 1 21:35 /var/run/docker.sock

Shipyard安裝unix

https://www.shipyard-project.com/docs/deploy/automated/

 

 

刪除全部未運行 Docker 容器

docker rm $(docker ps -a -q)

刪除全部 Docker 鏡像

刪除全部未打 tag 的鏡像

docker rmi $(docker images -q | awk '/^<none>/ { print $3 }')

刪除全部鏡像

docker rmi $(docker images -q)

根據格式刪除全部鏡像

docker rm $(docker ps -qf status=exited)
相關文章
相關標籤/搜索