是否可以在RUN
中添加Dockerfile
之类的指令,而不是在docker build
命令上运行,在使用docker run
创建新容器时执行?我认为这对初始化附加到主机文件系统的卷很有用。
答案 0 :(得分:3)
查看ENTRYPOINT命令。这指定了容器启动时要运行的命令,而不管某人在docker run
命令行上作为命令提供什么。实际上,ENTRYPOINT
脚本的作用是解释传递给docker run
的任何命令。
答案 1 :(得分:-2)
我认为您正在寻找CMD
https://docs.docker.com/reference/builder/#cmd
CMD
的主要目的是为执行提供默认值 容器。这些默认值可以包含可执行文件,也可以省略 可执行文件,在这种情况下,您必须指定ENTRYPOINT
指导也是如此。注意:不要将
RUN
与CMD
混淆。RUN
实际上运行命令和 承诺结果;CMD
在构建时不执行任何操作,但是 指定图像的预期命令。
您还应该考虑使用Data Containers查看这篇优秀的Blog帖子。
使用Docker的持久卷 - 仅限数据的容器模式 http://container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/