Docker的基本命令(二)

docker的基本命令格式:
#基本格式
systemctl [参数] docker
#参数详解:
    start         开启服务
    stop          关闭
    restart       重启
    status        状态

 

删除docker命令:
$  sudo apt-get purge docker-ce -y
$  sudo rm -rf /etc/docker
$  sudo rm -rf /var/lib/docker/docker基本目录简介:
/etc/docker/                #docker的认证目录
/var/lib/docker/            #docker的应用目录

 

docker常见问题:背景

​        因为使用的是sudo安装docker,所以会导致一个问题。以普通用户登录的状况下,在使用docker images时必须添加sudo,那么如何让docker免sudo依然可用呢?

理清问题

​        当以普通用户身份去使用docker命令时,出现以下错误:


Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.35/images/create?fromSrc=-&message=&repo=ubuntu-16.04&tag=: dial unix /var/run/docker.sock: connect: permission denied

​        可以看都,最后告知我们时权限的问题。那么在linux文件权限有三个数据左右drwxrwxrwx,其中第一为d代表该文件是一个文件夹前三位、中三位、后三位分别代表这属主权限、属组权限、其他人权限。
file://C:/Users/Administrator/Desktop/课程文档/assets/dockersock%E6%9D%83%E9%99%90.png?lastModify=1545892759
​        上图是报错文件的权限展示,可以看到其属主为root,权限为rw,可读可写;其属组为docker,权限为rw,可读可写。如果要当前用户可直接读取该文件,那么我们就为docker.sock 添加一个其他用户可读写权限 或者添加1个用户组就可以了

方法1:一劳永逸
#如果还没有 docker group 就添加一个:
$sudo groupadd docker
#将用户加入该 group 内。然后退出并重新登录就生效啦。
$sudo gpasswd -a ${USER} docker
#重启 docker 服务
$systemctl restart docker
#切换当前会话到新 group 或者重启 X 会话
$newgrp - docker
#注意:最后一步是必须的,否则因为 groups 命令获取到的是缓存的组信息,刚添加的组信息未能生效,
#所以 docker images 执行时同样有错。方法2:
#每次启动docker或者重启docker的之后
$cd /var/run
$sudo chmod 666 docker.sock方法3:每条命令前面加上sudo

下一章节:docker的核心命令

发布了525 篇原创文章 · 获赞 2 · 访问量 4048

猜你喜欢

转载自blog.csdn.net/heima201907/article/details/103953664