修复dockerfile中将来的RUN命令的umask
我想在dockerfile的其余部分修复所有RUN命令的某个umask。 而不是写这个
RUN umask 0002 && do_something
我想做这样的事情
RUN echo umask 0002 >> some_file RUN do_something ...
我曾尝试以各种方式设置umask的root
,但是它们似乎都不会对以下RUN
命令生效。 有任何想法吗?
Docker不会像完整的loginshell那样初始化每个RUN
步骤,而是创build一个非常小的环境。
当容器启动时,umask被runc设置为0022,这也是不可configuration的 。
所以,像大多数Docker构build的那样,您可能需要将这些命令链接到一个RUN
步骤,因此它们全部在同一个shell进程下。
RUN set -uex; \ umask 0002; \ do_something; \ do_otherthing;
否则,您需要在每个RUN步骤中进行一些初始化。