我想在基于Alpine的docker文件中与Nginx一起使用部首。
我目前正在开发Dockerfile,并注意到一个非常奇怪的行为,也许有人可以向我解释这一点。
https://gist.github.com/cdpb/7ab1690f30fe6a911dac
docker run -it <id> sh
su radicale -c 'nginx -t'
:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: [emerg] mkdir() "/var/lib/nginx/tmp/client_body" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
ls -l /var/lib/nginx/tmp
:
total 20
drwxr-xr-x 2 radicale radicale 4096 Feb 17 11:39 client_body
drwxr-xr-x 2 radicale radicale 4096 Feb 17 11:39 fastcgi
drwxr-xr-x 2 radicale radicale 4096 Feb 17 11:39 proxy
drwxr-xr-x 2 radicale radicale 4096 Feb 17 11:39 scgi
drwxr-xr-x 2 radicale radicale 4096 Feb 17 11:39 uwsgi
su radicale -c 'nginx -t'
:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
那么
ls
之后会发生什么呢?它不应该影响任何权限...!?有人可以复制吗?问候
光盘
UPDATE1:也可以与
stat /var/lib/nginx/tmp/*
一起使用UPDATE2:因为docker为Dockerfile中的每个命令创建了一个新层,所以我认为nginx必须与chmod / chown层在同一层中启动-不能解决问题
UPDATE3:我对安装了alpine(virtualbox)的磁盘执行了相同的操作,但未发生此问题。因此,这更多是与Docker相关的问题,或者是一个特殊的 Alpine Docker问题
最佳答案
将我的答案从评论中移开。
这种怪异现象通常与Docker storage driver有关。
大多数操作系统上通常有几种可用的Docker存储驱动程序:
这是一张比较上面的链接中的不同存储驱动程序的漂亮图片。
关于nginx - Nginx的 Alpine docker 失败,没有以前的ls?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35459276/