运行 创建新 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/