如何在Linux下创建、启动、停止、管理Docker容器?

Docker容器在虚拟化和容器领域创造了新的势头。Docker容器是在受限环境中的主机操作系统上运行的进程。

null

Docker引擎通过各种命令来管理容器的生命周期。我们将在本教程中查看这些子命令。

码头集装箱

现在是一些术语。Docker生态系统提供了许多关于工作的不同系统和术语。容器是作为进程在主机中以受限方式运行的数据和进程。一般工作状态称为容器。

Docker图像

Docker映像是由不同存储库提供的数据文件。Docker映像通常提供与映像相关的基本操作系统文件和用户空间文件。

码头中心

Docker hub是提供Docker图像的流行和最常用的集线器。作为创建者和维护者,它非常流行,默认情况下与Docker引擎一起提供。DockerHub为Ubuntu,Apache,CentOS,RabbitMQ…

也有替代枢纽,提供付费或更专业的码头图像。我们还可以创建一些私人码头工人 集线器。

拉容器图像

Docker图像是从Docker Hub这样的存储库下载的。为了启动一个容器,我们需要得到容器的图像。这称为图像提取。拉取图像将下载相关的图像文件 从存储库到本地Docker映像位置。默认docker映像位置为 /var/lib/docker/image . 我们将使用 pull 命令。在本例中,我们将下载 Fedora 来自Docker Hub的图像。

$ sudo docker pull fedora
Pull Container Image
拉容器图像

从截图中我们可以看出,下载一张图片时仅仅使用图片名是不够的。我们还应该提供一个标签,将指定准确的图像。但docker提供了一条捷径。如果没有提供标签,docker将使用标签 latest 默认情况下。

创建容器

我们有 已下载的图像 Fedora 在前面的示例中。现在我们可以创建一个容器而不用启动它。实际上,容器可以直接启动,而不需要创建它,它将自动创建。创建容器不会启动它。我们将使用 create 子命令。在本例中,我们将使用 --name 选项。新容器的名称将是 myfed .

$ docker create fedora --name myfed
Create Container
创建容器

创建完成后,将提供哈希值。此id是容器的id,用于在各种容器相关操作中指定容器。

相关文章: 如何在Docker中获取有关运行容器、图像的信息?

启动Docker容器

在这一步中,我们将通过指定基本映像名来启动容器。启动容器将根据容器参数在主机操作系统中创建新进程。我们将使用 run 命令和各种选项,我们将在下面的示例中详细介绍它们。

$ docker run fedora /bin/bash

命令操作后 容器将停止。这就是容器的本质。它们通常在有限的时间内启动、运行和停止。

将集装箱连接到码头

前面的例子中,我们已经启动了容器,但是在命令发出之后,会话就结束了。如果我们需要连接到容器的终端并想发出命令,我们应该提供 -i -t 参数如下。

$ docker run -t -i fedora /bin/bash
Connect Container To Terminal
将集装箱连接到码头

命令操作后容器没有停止。我们可以在这里发布命令 root 容器的用户。如果我们不提供主机名,则主机名是随机提供的。

列出容器

我们可能需要列出主机中当前正在运行的容器。我们将使用 ps 这个命令。有关容器状态的更多信息,请阅读以下文章。

如何在Docker中获取有关运行容器、图像的信息?

$ docker ps
List Containers
列出容器

重命名容器

可以更改当前运行的容器名称。但请记住,我们不会改变ID,我们会改变名称,就像一个标签。我们将使用 rename 具有容器id和新名称的命令。在本例中,容器id为 f991c8869664和新名称将设置为 mynewname .

$ docker rename f991c8869664 mynewname
Rename Container
重命名容器

停止容器

我们可以用 stop 子命令。

$ docker stop f991c8869664
Stop Container
停止容器

删除并移除容器

容器通常在有限的时间内使用。因此,在容器的使用结束后,容器将被删除,相关资源将被释放。我们可以用删除一个容器 rm 类似于Linux bash的命令。为了移除一个容器,应该按照前面的例子停止容器。我们还将提供用于删除的容器id。在本例中,我们移除了id为的容器 f991c8869664型

$ sudo docker rm f991c8869664

暂停容器

暂停容器可能需要一些时间来减少CPU的使用。我们可以暂停一个容器 pause 通过提供容器id的子命令。

$ docker pause a264a020b160
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享