使用docker RUN创建多个目录

Jac*_*cob 6 docker

在我的Linux机器上的终端中运行以下内容时:

mkdir -p /tmp/storage/{logs,framework,app}
Run Code Online (Sandbox Code Playgroud)

它创建以下目录:

/tmp/storage/app
/tmp/storage/framework
/tmp/storage/logs
Run Code Online (Sandbox Code Playgroud)

RUNDockerfile中构建时会产生一个名为的目录:

/tmp/storage/{logs,framework,app}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用mkdirpr目录创建多个RUN,但我很好奇为什么其他命令不起作用,如果有办法实际执行它?

jwo*_*der 11

RUN命令使用/bin/sh,而您最有可能/bin/bash在终端使用.要获得Bash行为,请使用Bash:

RUN bash -c 'mkdir -p /tmp/storage/{logs,framework,app}'
Run Code Online (Sandbox Code Playgroud)