—rm 停止时自动删除容器

docker run --rm <containerName>

用于启动一个容器并在容器停止时自动删除它。它非常适用于那些短暂运行的容器,容器运行后不需要保存任何状态或者数据的场景。

或者某个容器只会被运行一次,停止之后要么用新的容器来替代,要么就直接删除,如node.js服务器等。

-it 交互式方式运行

docker run -it <containername>

会暴露容器中的交互会话到当前终端中,但此时若终端关闭或者 Ctrl+C 终止则容器就会终止运行。

其中 -i 是以交互式方式执行容器,而 -t 是在当前终端开启一个 tty 连接容器内的对应终端。

—name 定义一个容器名

如果镜像没有在 dockerfile 中制定容器名称,则可以在运行时手动设定。

docker run --name <containerName> <imageHash>

覆盖容器默认操作

docker run node 会默认进入 node 的一个交互式命令解释界面,而我们可以通过在镜像名后加入自定义命令来替换掉默认的命令:

docker run -it node npm init

这样就会直接进入 npm 新建项目的流程,当然在完成之后容器就会停止运行,因为 npm init 就是执行完毕就退出。