docker - Dockerfile 中的 RUN 命令不会在容器之间持续存在

标签 docker dockerfile yo

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

==================================================================== We're constantly looking for ways to make yo better! May we anonymously report usage statistics to improve the tool over time? More info: https://github.com/yeoman/insight & http://yeoman.io ==================================================================== (Y/n)



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

最佳答案

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

RUN sh -c 'echo no | yo doctor'

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

关于docker - Dockerfile 中的 RUN 命令不会在容器之间持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37891878/

相关文章:

docker - 如何在 docker-compose 中使用环境变量?

docker - 在Ubuntu 16.04中创建Marklogic Docker实例以暴露端口

angularjs - (节点)警告 : Recursive process. 检测到 nextTick - RangeError:超出最大调用堆栈大小

docker - 如何使用 gitlab-ci 在 docker 内构建 archlinux pkgbuild

python - 错误 : pg_config executable not found when installing psycopg2 on Alpine in Docker

docker - Docker挂接命名空间以在容器之间共享

docker - 如何在启动时在 docker 容器中启动服务

java - 第一次使用 jHipster,浏览器在 grunt 服务后挂起

node.js - 在Docker容器中找不到依赖项