3

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

4

2 回答 2

3

看一下ENTRYPOINT命令。这指定了在容器启动时运行的命令,而不管有人在docker run命令行上提供的命令是什么。事实上,ENTRYPOINT脚本的工作就是解释传递给docker run.

于 2015-02-15T04:54:37.203 回答
-2

我想你正在寻找CMD

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

a 的主要目的是为CMD正在执行的容器提供默认值。这些默认值可以包括可执行文件,也可以省略可执行文件,在这种情况下,您还必须指定一条ENTRYPOINT 指令。

注意:不要RUNCMD. RUN实际运行命令并提交结果;CMD在构建时不执行任何操作,但指定图像的预期命令。

您还应该考虑使用数据容器,请参阅这篇出色的博客文章。

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

于 2015-02-15T05:03:37.677 回答