作者:aguiladesilvo_502 | 来源:互联网 | 2023-01-11 19:57
我想在剩余的dockerfile中为我的所有RUN命令修复某个umask。而不是写这个
RUN umask 0002 && do_something
我想做这样的事情
RUN echo umask 0002 >> some_file
RUN do_something
...
我尝试过root
以各种方式设置umask,但是它们似乎都对以下RUN
命令无效。有任何想法吗?
1> Matt..:
Docker不会RUN
像完整的登录Shell那样初始化每个步骤,而是创建了一个非常小的环境。
启动容器时,runc将umask 设置为0022,这也是不可配置的。
因此,像大多数Docker构建一样,您可能需要将命令链接到一个RUN
步骤中,以便所有这些操作都在同一Shell进程下进行。
RUN set -uex; \
umask 0002; \
do_something; \
do_otherthing;
否则,您将需要在每个RUN步骤中进行某种类型的初始化。