更改基础泊坞窗图像的默认命令

我从Docker中心下载了Ubuntu的基础镜像。 现在我正在尝试基于Ubuntu映像构build一个新的映像。 不过,我希望ubuntu映像的默认命令是“/ bin / bash -c”而不是“/ bin / sh”,所以当我在我的Dockerfile中使用RUN时,它访问bash而不是sh。 注意我正在谈论相同的图像的默认命令,而不是我想要build立的图像。

我不认为在ubuntu映像中有一个默认的命令。 当你跑步

 $ docker run ubuntu echo hi hi 

它运行["/bin/echo", "hi"] 。 你可以通过运行来validation

 $ docker run ubuntu set 2014/06/20 08:38:54 exec: "set": executable file not found in $PATH 

set是shell中的内置命令,但是docker试图将它作为外部运行。

如果你想把默认的shell从短划线改为bash,你可以用固定的符号链接创build一个图片。 这是一个dockerfile:

 FROM ubuntu RUN ln -sf /bin/bash /bin/sh 

[编辑]

我刚刚意识到你在说什么。 我不知道是否可以更改RUN命令的默认值,但是可以像这样显式使用/ bin / bash:

 RUN /bin/bash -c ... 

您可以使用:

RUN ["/bin/bash", "-c", "<command>"]