我正在使用django构建一个应用程序,我想将docker添加到这个项目中。
我想跑
sudo docker-compose up
这给了我这个输出:
ERROR: .IOError: [Errno 13] Permission denied: './docker-compose.yml'
我使用GUI检查了权限。一切都好。
我正在尝试从已安装的驱动器运行我的应用程序。我还在其他驱动器上测试过它。这个问题没有出现的唯一驱动器是我的主驱动器运行Ubuntu 18.04。
期待一些答案
使用apparmor reconfigure工具添加我运行docker-compose.yml
的目录:
$ sudo dpkg-reconfigure apparmor
您需要更新AppArmor配置:
使用AppArmor严格控制Snap Dockers。
要诊断是否确实如此,请在触发错误后检查syslog的最后几行:
cd /var/log; cat syslog | tail -n 400
你应该看到一个被拒绝的snap.docker:
<YOURCOMP> kernel: [ <TIME>] audit: type=1400 audit(....): apparmor="DENIED" operation="exec" profile="snap.docker.dockerd" name="/bin/kmod" pid=7213 comm="exe" requested_mask="x" denied_mask="x" fsuid=0 ouid=0
要纠正这个问题,只需转到apparmor config的可调参数:
cd /etc/apparmor.d/tunables
并在'home'文件中编辑HOMEDIRS变量,例如:
@{HOMEDIRS}=/home/
至
@{HOMEDIRS}=/home/ /media/aUser/Linux/
希望有所帮助。