我想在容器上使用挂载的卷,但尝试运行时会出现以下错误:
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: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/
更新: 我创建了一个新的卷,并在-v参数中使用了它的名称,然后它成功运行了,但是Java应用程序无法找到目录内的文件。