您可以启动、停止和重新启动 Docker 容器。当我们停止一个容器时,它并没有被移除,而是状态变成了stopped,容器内的进程也停止了。当我们docker ps在上一个模块中运行命令时,默认输出仅显示正在运行的容器。当我们通过--all或-a简称时,我们会看到机器上的所有容器,而不管它们的启动或停止状态。

$ docker ps -a

您现在应该看到列出了几个容器。这些是我们启动和停止但尚未删除的容器。

让我们重新启动刚刚停止的容器。找到我们刚刚停止的容器名称,在restart命令中替换下面的容器名称。

$ docker restart wonderful_kalam

现在使用docker ps命令再次列出所有容器。

$ docker ps --all

请注意,我们刚刚重新启动的容器已在分离模式下启动并暴露了端口 5000。另外,观察容器的状态是“Up X seconds”。当您重新启动容器时,它会以与最初启动时相同的标志或命令启动。

现在,让我们停止并移除我们所有的容器,看看如何修复随机命名问题。停止我们刚刚启动的容器。找到您正在运行的容器的名称,并将以下命令中的名称替换为您系统上的容器名称。

$ docker stop wonderful_kalam

现在我们所有的容器都已停止,让我们将它们移除。当你移除一个容器时,它不再运行,也不是处于停止状态,而是容器内部的进程已经停止并且容器的元数据已经被移除。

$ docker ps --all

要删除容器,只需运行docker rm传递容器名称的命令即可。您可以使用单个命令将多个容器名称传递给命令。同样,将以下命令中的容器名称替换为您系统中的容器名称。

$ docker rm wonderful_kalam agitated_moser goofy_khayyam

docker ps --all再次运行该命令以查看所有容器都已删除。

现在,让我们解决随机命名问题。标准做法是为您的容器命名,原因很简单,这样更容易识别容器中运行的内容以及与它关联的应用程序或服务。

要命名容器,我们只需要将--name标志传递给docker run命令。

$ docker run -d -p 5000:5000 --name rest-server python-docker

这样更好!我们现在可以根据名称轻松识别我们的容器。

关键词: 镜像 核心技术 容器