如何停止 Docker 容器
2024年3月17日Linux 中 nslookup 命令的7个实际示例
2024年3月17日如果您是 Docker 新手并通过学习各种教程来学习它,您可能会遇到诸如启动 docker 容器、运行 docker 容器或创建 docker 容器之类的术语。
这些术语足以让 docker 初学者感到困惑,因为所有三个 docker 命令看起来都很相似。
事实上,区分 docker run 和 docker start 之间的区别特别困难。
运行容器和启动容器不一样吗?并不真地。
让我向你解释一下。
Docker run、Docker start 和 Docker create 之间的区别
这些命令的作用如下:
Docker create 命令从 docker 镜像创建一个全新的容器。但是,它不会立即运行它。
Docker start 命令将启动任何停止的容器。如果您使用 docker create 命令创建容器,则可以使用此命令启动它。
Docker run 命令是 create 和 start 的组合,因为它创建一个新容器并立即启动它。事实上,如果在您的系统上找不到上述镜像,docker run 命令甚至可以从 Docker Hub 中提取镜像。
让我们看一下例子,这样你就更清楚了。
让我们通过例子来看看
如果您想按照示例操作,请确保您已安装 Docker 。
假设您使用 docker pull ubuntu 命令从 Docker Hub 下载 Ubuntu 映像。
您可以看到系统上所有可用的 docker 镜像。在这个例子中我只有 ubuntu (以避免混淆):
abhishek@itsfoss:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 775349758637 5 weeks ago 64.2MB
现在,使用docker create 命令创建一个名为 container-1 的新 docker 容器:
abhishek@itsfoss:~$ docker create --name container-1 ubuntu
2d9a8c190e6c9b3cbbc032a87762bfbc92f1dc0dd30abbe9bdb3ed7e74a6480f
可以看到已经创建了一个新的容器。如果您尝试查看所有正在运行的容器,您将看不到“container-1”,因为尽管它已创建,但从未启动。
abhishek@itsfoss:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
如果您检查所有容器,无论它们是否正在运行,您都会看到 container-1 的状态为“已创建”:
abhishek@itsfoss:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2d9a8c190e6c ubuntu "/bin/bash" 18 seconds ago Created container-1
现在让我们使用docker run 命令创建并运行一个名为container-2的容器:
abhishek@itsfoss:~$ docker run -it -d --name container-2 ubuntu bash
13dc0f4226dc8d9d86e41d927c5616654d8263da2cc8c667aaa5b4dbd7f7e9b3
可以看到container-2正在运行,状态为Up:
abhishek@itsfoss:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" About a minute ago Up About a minute container-2
让我们停止这个正在运行的容器:
abhishek@itsfoss:~$ docker stop container-2
container-2
abhishek@itsfoss:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abhishek@itsfoss:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 2 minutes ago Exited (0) 28 seconds ago container-2
2d9a8c190e6c ubuntu "/bin/bash" 3 minutes ago Created container-1
现在我们已经停止了容器,您可以使用docker start 命令再次启动它:
abhishek@itsfoss:~$ docker start container-2
container-2
abhishek@itsfoss:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 2 minutes ago Up 2 seconds container-2
但是使用 docker create 命令创建的container-1 会发生什么情况呢?您可以使用 docker start 命令启动此容器,然后使用docker exec运行特定的内容。
我希望这篇文章能让您更好地了解 docker run、docker start 和 docker create 命令。我建议您了解容器生命周期,以进一步理解这个主题。
![](https://www.alaica.com/wp-content/uploads/linux-313.png)
如果您有疑问或建议,请随时在下面发表评论。