本地泊坞窗卷与www-data的写入权限

这是我的Dockerfile的一部分:

RUN mkdir /data RUN chown www-data:www-data /data RUN chmod 664 /data VOLUME ["/data"] 

我使用以下命令创build映像:

 docker build -t webapp . 

我像这样运行它:

 docker run -d -p 80:80 -v /home/user/data:/data webapp 

但在我的主机用户目录中, data目录是这样创build的:

 drwxr-xr-x 2 root root 4,0K avril 28 21:52 data 

并在图像(docker执行 – 这CONTAINER_ID bash)我有:

 drwxr-xr-x 2 root root 4096 Apr 28 19:52 data 

所以从Dockerfile中忽略命令。
Web Docker应用程序如何获得在主机目录上的写入权限?

所以你正在build立一个图像,设置chmods,这很酷。 但是,然后你用-v选项运行容器,这意味着/数据将被replace为安装的卷。 此时,来自内置映像的所有文件和权限都被忽略。 您可以通过运行不带-v选项的容器来检查。 解决方法是创build入口点脚本(在Dockerfile中使用ENTRYPOINT或CMD命令),它将首先修复权限,然后为图像运行原始命令。