【发布时间】:2017-03-03 01:22:54
【问题描述】:
我在我的 Dockerfile 中运行以下 RUN 命令,期望在每个列出的子目录下创建一个“日志”目录:
RUN mkdir -p /opt/seagull/{diameter-env,h248-env,http-env,msrp-env,octcap-env,radius-env,sip-env,synchro-env,xcap-env}/logs
但是当我检查图像时,我看到一个目录字面意思是“{diameter-env,h248-env,http-env,msrp-env,octcap-env,radius-env,sip-env,synchro-env, xcap-env}" 在 /opt/seagull 下创建,而不是进行大括号扩展。
我做错了什么?
【问题讨论】:
-
我不知道哪种方法,但是
RUN是否在 bash 下运行? -
事实证明,这取决于您使用的是 shell 形式还是 exec 形式。请参阅下面的答案。
标签: bash docker dockerfile brace-expansion