使用docker RUN创build多个目录

在Linux机器的terminal上运行以下命令时:

mkdir -p /tmp/storage/{logs,framework,app} 

它创build以下目录:

 /tmp/storage/app /tmp/storage/framework /tmp/storage/logs 

在Dockerfile中使用RUN进行构build时,会导致一个名为的目录:

 /tmp/storage/{logs,framework,app} 

我知道我可以使用mkdir pr目录创build多个RUN,但是我很好奇为什么其他命令不起作用,以及是否有办法实际执行它?

RUN命令使用/bin/sh ,而最有可能在terminal上使用/bin/bash 。 要获得Bash行为,请使用Bash:

 RUN bash -c 'mkdir -p /tmp/storage/{logs,framework,app}'