部署Traggo Docker时执行docker-compose命令遇权限拒绝错误
解决Docker Compose权限拒绝错误
问题原因
你执行的命令sudo docker-compose up -d && docker-compose logs -f中,前半部分用sudo以root权限创建了容器,但后半部分的docker-compose logs -f是用普通用户执行的,而普通用户默认没有访问Docker Unix套接字(/var/run/docker.sock)的权限,因此触发了PermissionError。
解决方案
方案1:给整个命令添加sudo权限
直接让前后两个命令都以root权限执行:
sudo docker-compose up -d && sudo docker-compose logs -f
方案2:将当前用户加入docker用户组(推荐)
这是更长期的解决方案,以后执行Docker和Docker Compose命令都无需sudo:
- 执行命令将当前用户加入docker组:
sudo usermod -aG docker $USER - 注销当前用户并重新登录(或重启系统),让组权限变更生效
- 之后直接执行以下命令即可:
docker-compose up -d && docker-compose logs -f
为什么其他机器没有这个问题?
你另外两台机器应该已经完成了将用户加入docker组的操作,所以普通用户直接就能访问Docker套接字,无需sudo即可执行Docker Compose命令。
内容的提问来源于stack exchange,提问作者David Mead
相关产品推荐
相关产品推荐

