【问题标题】:RUN command in Dockerfile not persisting from container to containerDockerfile 中的 RUN 命令不会在容器之间持续存在
【发布时间】:2016-06-17 23:49:54
【问题描述】:

我在 Docker 容器中运行 yo,在我的 Dockerfile 中,我有命令 RUN echo no | yo doctor。当你第一次运行时,它会要求回答:

================================================ ===================== 我们一直在寻找让您变得更好的方法! 我们可以匿名报告使用统计信息以随着时间的推移改进工具吗? 更多信息:https://github.com/yeoman/insight & http://yeoman.io ================================================== ================== (Y/n)

每次我创建一个新容器时,你都会再次问我同样的问题。 由于每个容器都是使用相同的图像构建的,并且我在我的 Dockerfile 中运行echo no | yo doctor,它不应该阻止你再次提问吗?

【问题讨论】:

标签: docker dockerfile yo


【解决方案1】:

每当我看到 RUN 使用管道时,我都会在子 shell 中尝试该命令 (sh -c)

RUN sh -c 'echo no | yo doctor'

如果它不起作用,另一种解决方法是将该命令包含在脚本中,COPY 脚本和 RUN 它。

【讨论】:

  • 这并不能解决问题。当我运行 docker build 时,该命令运行良好。当我使用 docker run 创建一个新容器时,你仍然会问这个问题。
  • @Shan 你的ENTRYPOINTCMD 是什么? docker run 上执行了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-22
  • 2013-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-28
相关资源
最近更新 更多