【问题标题】:Docker run "error while creating mount source path '[...]': mkdir [...]: permission denied"Docker运行“创建挂载源路径'[...]'时出错:mkdir [...]:权限被拒绝”
【发布时间】:2020-12-09 14:36:06
【问题描述】:

我正在尝试在 Docker 运行中挂载一个目录:

docker run --restart always -t -v /home/dir1/dir2/dir3:/dirX --name [...]

但我得到了错误:

error while creating mount source path '/home/dir1/dir2/dir3': mkdir /home/dir1/dir2/dir3: permission denied.

所有目录都存在,奇怪的是当尝试挂载 dir2 而不是 dir3 时它工作正常:

docker run --restart always -t -v /home/dir1/dir2/:/dirX --name [...]   # THIS IS WORKING

所有目录('dir2' 和 'dir3')具有相同的权限:drwxr-x---

关于可能是什么问题的任何建议?为什么一个工作而另一个不工作? 谢谢

【问题讨论】:

  • 你真的有/home/dir1/dir2/dir3? Docker 正在尝试为您设置它意味着它认为该文件夹不存在...
  • 是的,路径中的所有目录都存在,包括最后一个
  • 请包含ls -al /home/dir1/dir2/dir3的输出,描述docker引擎是如何安装和运行的,描述主机(包括是否启用selinux)。

标签: linux docker containers permission-denied


【解决方案1】:

使用ls -la检查您尝试挂载docker的文件夹的权限,您可能需要使用chmod修改权限。

如果您不想修改权限,只需在命令开头添加sudo即可。

sudo docker run --restart always -t -v /home/dir1/dir2/dir3:/dirX --name [...]

【讨论】:

  • 权限是“drwxr-x---”(正如我在问题中所写),足以挂载到dir2,但dir1没有成功。不幸的是,我正在使用无法更改目录权限或使用 sudo 的服务器(无论如何 docker 具有 root 权限,但服务器上的 root 权限是有意限制的),甚至创建一个新目录
猜你喜欢
  • 2019-03-17
  • 1970-01-01
  • 2018-04-23
  • 2023-03-19
  • 1970-01-01
  • 2019-06-05
  • 1970-01-01
  • 2016-08-24
  • 2013-07-01
相关资源
最近更新 更多