问题描述
问题
按照 AWS 指南安装 Docker (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html) 时,我卡在第 8 步 docker info
。应该在第 6 步中添加权限,以便 ec2-user
可以在没有 sudo
的情况下运行它,但它不能。
$ docker info
-bash: /usr/bin/docker: Permission denied
问题排查
我已经重新启动了实例,注销并登录,然后停止并启动了 docker。
id ec2-user
返回 uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user),4(adm),10(wheel),190(systemd-journal),992(docker)
我已经安装了 docker-compose
并尝试通过其他方式更改权限:
sudo usermod -a -G sudo ec2-user
sudo setfacl -R -m user:ec2-user:rw /usr/bin/docker
期望的行为
我希望修复权限,无论这意味着重新安装 Docker 还是只是修改权限。
解决方法
如果您想避免在运行 docker 命令时输入 sudo,请将您的用户名添加到 docker 组:
sudo usermod -aG docker $(whoami)
您需要退出 Droplet 并以同一用户身份重新登录才能启用此更改。
如果您需要将一个用户添加到您未登录的 docker 组,请使用以下方式明确声明该用户名:
sudo usermod -aG docker username