运行 创建新 Docker 容器的命令
Run commands on create a new Docker container
是否可以在 Dockerfile
中添加像 RUN
这样的指令,而不是 docker build
命令上的 运行,当使用 [= 创建新容器时执行15=]?我认为这对于初始化附加到主机文件系统的卷很有用。
看看 ENTRYPOINT 命令。这指定了容器启动时 运行 的命令,而不管某人在 docker run
命令行上提供的命令是什么。事实上,ENTRYPOINT
脚本的工作是解释传递给 docker run
的任何命令。
我认为您正在寻找 CMD
https://docs.docker.com/reference/builder/#cmd
The main purpose of a CMD
is to provide defaults for an executing
container. These defaults can include an executable, or they can omit
the executable, in which case you must specify an ENTRYPOINT
instruction as well.
Note: don't confuse RUN
with CMD
. RUN
actually runs a command and
commits the result; CMD
does not execute anything at build time, but
specifies the intended command for the image.
您还应该了解如何使用数据容器,请参阅这个优秀的博客 post。
具有 Docker 的持久卷 - 纯数据容器模式
http://container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/
是否可以在 Dockerfile
中添加像 RUN
这样的指令,而不是 docker build
命令上的 运行,当使用 [= 创建新容器时执行15=]?我认为这对于初始化附加到主机文件系统的卷很有用。
看看 ENTRYPOINT 命令。这指定了容器启动时 运行 的命令,而不管某人在 docker run
命令行上提供的命令是什么。事实上,ENTRYPOINT
脚本的工作是解释传递给 docker run
的任何命令。
我认为您正在寻找 CMD
https://docs.docker.com/reference/builder/#cmd
The main purpose of a
CMD
is to provide defaults for an executing container. These defaults can include an executable, or they can omit the executable, in which case you must specify anENTRYPOINT
instruction as well.Note: don't confuse
RUN
withCMD
.RUN
actually runs a command and commits the result;CMD
does not execute anything at build time, but specifies the intended command for the image.
您还应该了解如何使用数据容器,请参阅这个优秀的博客 post。
具有 Docker 的持久卷 - 纯数据容器模式 http://container42.com/2013/12/16/persistent-volumes-with-docker-container-as-volume-pattern/