问题描述
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
这是运行cmd:
docker run -t -p 8080:8080 -v / var / skeeter / templates:/ var / container / skeeter / templates --name skeeter-docker-container skeeter-docker-image:latest
这是我在检查目录权限时的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/
更新: 我创建了一个新的Volume,并在-v参数中使用了它的名称并运行了它,但是Java应用无法在目录内找到文件
解决方法
这只是一个权限问题。 我将源目录移到/ home / myuser / directory /并工作。