【问题标题】:Ubuntu and Docker: Error response from daemon: error while creating mount source pathUbuntu 和 Docker:来自守护进程的错误响应:创建挂载源路径时出错
【发布时间】:2023-03-20 08:05:01
【问题描述】:

我想使用安装在容器上的卷,但在尝试运行时会引发下一个错误:

docker:来自守护进程的错误响应:创建挂载源时出错 路径 '/var/skeeter/templates': mkdir /var/skeeter: 只读文件 系统。

这是我的 Dockerfile:

FROM maven:3-jdk-13-alpine

RUN mkdir -p /var/container/skeeter/templates

WORKDIR /project
ADD ./target/skeeter-0.0.1-SNAPSHOT.jar skeeter-0.0.1-SNAPSHOT.jar

EXPOSE 8080

CMD java -jar skeeter-0.0.1-SNAPSHOT.jar

这是运行命令:

docker run -t -p 8080:8080 -v /var/skeeter/templates:/var/container/skeeter/templates --name skeeter-docker-container skeeter-docker-image:最新

这是我检查目录权限时的 CMD 输出:

ls -l /var/skeeter/
total 4 drwxrwxrwx 2 root root 4096 ago 11 16:45 templates

ls -ld /var/skeeter/
drwxrwxrwx 3 root root 4096 ago 11 16:45 /var/skeeter/

更新: 我创建了一个新卷并在 -v 参数中使用了它的名称并运行了它,但是 java 应用程序在目录中找不到文件

【问题讨论】:

  • 我对该错误消息的阅读是(a)主机目录/var/skeeter/templates 不存在(我认为甚至/var/skeeter 不存在),以及(b)文件系统包含/var/skeeter(很可能是主机的/var)以只读方式挂载。您是否从主机上的根 shell 运行这两个 ls -l 命令?
  • @David Maze 是的,我正在主机上的 root shell 运行这些 ls 命令

标签: docker ubuntu dockerfile


【解决方案1】:

这只是权限问题。 我将源目录移动到 /home/myuser/directory/ 并开始工作。

【讨论】:

  • 来吧伙计们!由于我是这个世界的新手,因此可能无法以正确的方式解决它。我真的对其他想法持开放态度,而不仅仅是说“没有用的答案”
猜你喜欢
  • 2020-03-22
  • 2019-06-13
  • 1970-01-01
  • 1970-01-01
  • 2019-04-30
  • 2020-01-11
  • 1970-01-01
  • 2015-05-21
  • 1970-01-01
相关资源
最近更新 更多