我正在尝试访问docker中的docker。使用steps mentioned here:
看起来工作我可以使用root
用户或使用sudo
查看来自主机的所有图片和容器。
我想使用用户admin
访问docker而不使用sudo
。
我确实将用户admin
添加到docker
组中,但这没有用。
admin@07288dd81437:~$ sudo usermod -a -G docker admin
admin@07288dd81437:~$ docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/images/json: dial unix /var/run/docker.sock: connect: permission denied
答案 0 :(得分:1)
补充组ID列表从父进程继承到子进程。您需要通过将此组添加到该列表中并使用 sg 和 newgrp 命令的组合来创建新的shell会话,如下所示:
exec sg docker newgrp $(id -gn)
sg 命令运行 newgrp 命令而不更改当前组ID,有效添加 docker 组到补充组ID的列表。
不要简单地运行newgrp docker
的原因是避免将当前组ID更改为 docker 。