【发布时间】:2021-09-18 10:07:28
【问题描述】:
我希望我的 docker 中的某个目录具有特定的 umask 值,比如 000。我尝试在我的 dockerfile 和 ENTRYPOINT shell 脚本中设置它,但它们都无法工作,
...
RUN umask 000 /var/www/html/storage/logs //the directory
ENTRYPOINT ["/etc/start.sh"]
#in the /etc/start.sh
#!/bin/sh
umask 000 /var/www/html/storage/logs
...
登录docker容器查看/var/www/html/storage/logsumask,还是默认的0022
/var/www/html # cd storage/logs/
/var/www/html/storage/logs # umask
0022
这是为什么呢?我如何使它工作?谢谢!
【问题讨论】:
-
umask设置当前进程的 umask 值,并影响 umask 命令后创建的所有文件。您在命令后指定的文件名不执行任何操作。一旦当前进程退出,umask 值就会丢失。 -
但我确实在 ENTRYPOINT 中设置了它,它也不起作用。
标签: docker dockerfile umask