在创建新的Docker容器时运行命令

时间:2015-02-15 03:01:14

标签: docker dockerfile

是否可以在RUN中添加Dockerfile之类的指令,而不是在docker build命令上运行,在使用docker run创建新容器时执行?我认为这对初始化附加到主机文件系统的卷很有用。

2 个答案:

答案 0 :(得分:3)

查看ENTRYPOINT命令。这指定了容器启动时要运行的命令,而不管某人在docker run命令行上作为命令提供什么。实际上,ENTRYPOINT脚本的作用是解释传递给docker run的任何命令。

答案 1 :(得分:-2)

我认为您正在寻找CMD

https://docs.docker.com/reference/builder/#cmd

  

CMD的主要目的是为执行提供默认值   容器。这些默认值可以包含可执行文件,也可以省略   可执行文件,在这种情况下,您必须指定ENTRYPOINT   指导也是如此。

     

注意:不要将RUNCMD混淆。 RUN实际上运行命令和   承诺结果; CMD在构建时不执行任何操作,但是   指定图像的预期命令。

您还应该考虑使用Data Containers查看这篇优秀的Blog帖子。

使用Docker的持久卷 - 仅限数据的容器模式 http://container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/

相关问题