zoukankan      html  css  js  c++  java
  • Docker 技巧:删除 Docker 容器和镜像

    默认安装完 docker 后,每次执行 docker 都需要运行 sudo 命令,非常浪费时间影响效率。如果不跟 sudo,直接执行 docker images 命令会有如下问题:

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

    于是考虑如何免 sudo 使用 docker,经过查找资料,发现只要把用户加入 docker 用户组即可,具体用法如下。

    免 sudo 使用 docker

    如果还没有 docker group 就添加一个:

    sudo groupadd docker

    ubuntu下,通过一下命令来看有没有group

    cat /ect/group

    将用户加入该 group 内。然后退出并重新登录就生效啦。

    sudo gpasswd -a ${USER} docker

    重启 docker 服务

    sudo service docker restart

    group 或者重启 X 会话

    newgrp - docker
    或者
    pkill X

    注意,最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,所以 docker images 执行时同样有错。

    原因分析

    因为 /var/run/docker.sock 所属 docker 组具有 setuid 权限

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

    Shipyard安装

    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)
  • 相关阅读:
    java陷阱一箩筐面试
    应用MVC设计模式解决J2ME应用程序导航问题 mingjava
    我怎么了
    运营商掘宝手机游戏 无限“钱途”引人竞折腰
    网络工程师考试大纲
    java 正则
    java集合使用——LinkedList
    java集合使用——HashMap
    java集合使用——HashSet
    JAVA集合使用——基本概念
  • 原文地址:https://www.cnblogs.com/mokliu/p/7493621.html
Copyright © 2011-2022 走看看