手动从零创建Docker镜像遇权限拒绝,该如何解决?
Docker套接字权限拒绝问题的解决办法
我之前也碰到过一模一样的问题,其实核心原因就是当前用户没有访问Docker守护进程套接字的权限,咱们一步步来搞定:
临时快速解决(适合单次操作)
直接给整个命令加上sudo,让它以root权限执行:
sudo tar -C xenial -c . | sudo docker import - xenial
不过每次都加sudo挺麻烦的,推荐下面的永久解决方法。
永久解决(一劳永逸)
默认情况下,只有root用户和docker组的成员才能访问Docker的套接字,所以咱们把当前用户加入docker组就行:
- 首先确保
docker组存在(一般Docker安装后会自动创建,保险起见还是执行一下):sudo groupadd docker - 将当前用户添加到
docker组:sudo usermod -aG docker $USER - 让组权限的变更立即生效(不用注销重启):
newgrp docker - 验证是否生效:执行
docker ps,如果能正常输出(哪怕显示没有运行的容器),就说明权限已经没问题了。
额外注意
如果是刚安装完Docker,可能还需要重启Docker服务才能让设置生效:
sudo systemctl restart docker
之后再执行你的镜像导入命令就不用加sudo啦:
tar -C xenial -c . | docker import - xenial
内容的提问来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

