在构建 docker 镜像时运行 shell 脚本

anj*_*ali 3 shell docker dockerfile docker-build

我有一个带有install.sh脚本的自定义包,我想在构建./install.shdocker镜像时运行它(意思是 - 放在Dockerfile 中)。我可以将它与容器一起运行,但我想要一个包含所需包(install脚本中提到的包)的图像。

我试过的:

  1. RUN /bin/sh/ -c "./install.sh"
  2. RUN ./install.sh

它错误地说 -

/bin/sh install.sh not found

或者

/bin/sh ./install.sh not found

这可能是一个重复的问题,但我没有在任何地方找到答案。任何帮助,将不胜感激。

小智 7

您必须install.sh在 dockerfile 中使用以下命令将您的镜像复制到 docker 文件中:

COPY install.sh /tmp

然后使用您的RUN命令运行它:

RUN /bin/sh -c "/tmp/install.sh"

或者

RUN sh /tmp/install.sh

install.sh在运行之前不要忘记制作可执行文件:

chmod +x /tmp/install.sh