📅  最后修改于: 2023-12-03 15:30:32.011000             🧑  作者: Mango
当您运行 docker run
命令时,默认行为是创建并启动一个新的容器。但是有时候,您可能想要创建一个容器,但是不立即启动它。在这种情况下,可以使用以下命令行参数:
docker run -itd --name mycontainer --entrypoint /bin/bash myimage
这里的 -d
参数意味着“后台运行”,也就是说,容器将在后台创建,但不立即启动。--name
参数为容器指定一个名称,以便稍后引用该容器。--entrypoint
参数设置容器的入口点,即容器启动时运行的命令。
注意,使用这种方法创建的容器仍然可以通过 docker start
命令启动。
以下示例演示如何使用 docker run
命令创建但不启动一个新的 Ubuntu 容器。
docker run -itd --name myubuntu --entrypoint /bin/bash ubuntu
然后,您可以使用 docker start
命令启动它,如下所示:
docker start myubuntu
或者,您可以使用 docker exec
命令在容器中运行命令,如下所示:
docker exec -it myubuntu /bin/bash
这将在容器中启动一个新的 bash shell。注意,这里使用的是 docker exec
命令,而不是 docker run
。这是因为容器已经创建,只是不在运行中。
使用上述参数,可以使用 docker run
命令创建但不启动容器。这对于在容器中运行调试命令、配置容器或编写 Dockerfile 时非常有用。