问题背景
在国产麒麟操作系统(Kylin OS)中使用 docker-compose 时,常会遇到类似以下错误:
Permission denied
这通常是因为当前用户没有加入 docker 用户组,或未正确配置 Docker 服务权限。
常见原因
- 当前用户未加入
docker用户组 - Docker 服务未启动或配置异常
docker-compose文件或目录权限受限- 系统安全策略(如 SELinux 或麒麟特有的安全模块)限制
解决方案
-
将用户加入 docker 组
执行以下命令(需 root 权限):sudo usermod -aG docker $USER
然后重新登录系统使组生效。 -
检查 Docker 服务状态
systemctl status docker
若未运行,使用sudo systemctl start docker启动。 -
使用 sudo 临时提权(不推荐长期使用)
sudo docker-compose up
-
检查文件权限
确保docker-compose.yml及相关目录可读写。 -
查看系统安全策略
麒麟系统可能启用额外的安全机制,可联系系统管理员确认是否需放行容器操作。
验证修复
执行以下命令测试是否仍有权限问题:
docker-compose version
若能正常输出版本信息,说明权限问题已解决。