使用Docker RUN创建多个目录

17

当我在我的Linux机器上在终端中运行以下命令时:

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

它创建以下目录:

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

在 Dockerfile 中使用 RUN 构建会生成一个名为:

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

我知道我可以创建多个带有mkdir命令的RUN来实现,但是我想知道为什么另一个命令不起作用,是否有实际的方法可以做到这一点?

1个回答

33

RUN 命令使用的是 /bin/sh,而您在终端上可能在使用 /bin/bash。要获取 Bash 的行为,请使用 Bash:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接