vex*_*exE 8 python django ubuntu docker docker-compose
我正在使用 django 构建一个应用程序,我想将 docker 添加到这个项目中。
我正在努力奔跑
sudo docker-compose up
Run Code Online (Sandbox Code Playgroud)
这给了我这个输出:
ERROR: .IOError: [Errno 13] Permission denied: './docker-compose.yml'
Run Code Online (Sandbox Code Playgroud)
我使用 GUI 检查了权限。一切安好。
我正在尝试从安装的驱动器运行我的应用程序。我还在其他驱动器上测试了它。唯一没有出现此问题的驱动器是我运行 Ubuntu 18.04 的主驱动器。
期待一些答案
And*_*ers 11
我找到了一个可行的解决方案。
不要使用 snap 安装,而是执行此操作(已测试 Ubuntu 20.04)
apt install docker.io docker-compose
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml使用 apparmor 重新配置工具添加我正在运行的目录:
$ sudo dpkg-reconfigure apparmor
Run Code Online (Sandbox Code Playgroud)
小智 4
您需要更新您的 AppArmor 配置:
Snap Docker 受到 AppArmor 的严格控制。
要诊断是否确实如此,请在触发错误后检查系统日志的最后几行:
dmesg | grep docker-compose
Run Code Online (Sandbox Code Playgroud)
您应该看到被拒绝的 snap.docker:
内核:[]审核:类型= 1400审核(....):apparmor =“拒绝”操作=“exec”配置文件=“snap.docker.dockerd”名称=“/bin/kmod”pid=7213 comm=“ exe”requested_mask =“x”denied_mask =“x”fsuid = 0 ouid = 0
要纠正此问题,只需转到 apparmor 配置的可调参数:
cd /etc/apparmor.d/tunables
Run Code Online (Sandbox Code Playgroud)
并编辑“home”文件中的 HOMEDIRS 变量,例如:
@{HOMEDIRS}=/home/
Run Code Online (Sandbox Code Playgroud)
到
@{HOMEDIRS}=/home/ /media/aUser/Linux/
Run Code Online (Sandbox Code Playgroud)
希望有帮助。