You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker-compose在隐藏目录执行权限拒绝问题求助(VSCode开发容器依赖)

问题描述
  • 系统:Ubuntu 22.04.1 LTS
  • Docker版本:20.10.23
  • docker-compose版本:1.29.2
  • 现象:
    • 执行docker-compose -f /home/mac/vscode.yml build可正常运行
    • 执行docker-compose -f /home/mac/.config/vscode.yml build报错:ERROR: PermissionError: [Errno 13] Permission denied: '/home/mac/.config/vscode.yml'
    • 已将/home/mac和/home/mac/.config权限设为777,问题依旧
    • 使用docker compose(无短横线)命令执行相同操作可正常运行
    • 需求:VSCode Dev Containers扩展依赖docker-compose,需解决该问题
解决方案
  • 检查文件隐藏属性
    执行lsattr /home/mac/.config/vscode.yml,如果输出包含i(不可修改属性),执行sudo chattr -i /home/mac/.config/vscode.yml移除该属性后重试。

  • 替换旧版docker-compose为Docker CLI集成版
    既然docker compose能正常运行,可将VSCode Dev Containers配置为使用该命令:

    1. 卸载旧版独立docker-compose:sudo apt remove docker-compose
    2. 安装Docker Compose插件:sudo apt install docker-compose-plugin
    3. 打开VSCode设置,搜索「Dev Containers: Docker Compose Command」,将值改为docker compose
  • 排查AppArmor限制
    Ubuntu默认的AppArmor规则可能限制了旧版docker-compose访问隐藏目录:

    1. 临时切换AppArmor为投诉模式:sudo aa-complain docker-default
    2. 重新执行docker-compose命令测试,若正常,可考虑调整AppArmor规则或保持该模式。
  • 使用符号链接绕过隐藏目录权限问题
    将目标yml文件链接到非隐藏目录:
    ln -s /home/mac/.config/vscode.yml /home/mac/vscode-compose.yml
    然后执行docker-compose -f /home/mac/vscode-compose.yml build

内容的提问来源于stack exchange,提问作者Mucahit Sancar Kahveci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:55:15