当前位置:   article > 正文

深入理解 Docker(二)

深入理解 Docker(二)

原文:zh.annas-archive.org/md5/8474E71CF7E3D29A70BB0D1BE42B1C22

译者:飞龙

协议:CC BY-NC-SA 4.0

第八章:容器

现在我们对镜像有了一些了解,是时候进入容器了。由于这是一本关于 Docker 的书,我们将专门讨论 Docker 容器。然而,Docker 一直在努力实现由开放容器倡议(OCI)在 https://www.opencontainers.org 发布的镜像和容器规范。这意味着你在这里学到的很多东西将适用于其他符合 OCI 标准的容器运行时。

我们将把本章分为通常的三个部分:

  • 简而言之

  • 深入探讨

  • 命令

让我们去学习关于容器的知识吧!

Docker 容器-简而言之

容器是镜像的运行时实例。就像我们可以从虚拟机模板启动虚拟机(VM)一样,我们可以从单个镜像启动一个或多个容器。容器和虚拟机之间的主要区别在于容器更快速和更轻量级-容器不像虚拟机一样运行完整的操作系统,而是与它们运行的主机共享操作系统/内核。

图 7.1 显示了一个 Docker 镜像被用来启动多个 Docker 容器。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图 7.1

启动容器的最简单方法是使用docker container run命令。该命令可以带很多参数,但在其最基本的形式中,你告诉它要使用的镜像和要运行的应用程序:docker container run <image> <app>。下一个命令将启动一个运行 Bash shell 的 Ubuntu Linux 容器:docker container run -it ubuntu /bin/bash。要启动一个运行 PowerShell 应用程序的 Windows 容器,你可以这样做:docker container run -it microsoft/powershell:nanoserver pwsh.exe

-it标志将把你当前的终端窗口连接到容器的 shell。

容器运行直到它们执行的应用退出。在上面的两个例子中,Linux 容器将在 Bash shell 退出时退出,而 Windows 容器将在 PowerShell 进程终止时退出。

一个非常简单的演示方法是启动一个新的容器,并告诉它运行 sleep 命令 10 秒钟。容器将启动,运行 10 秒钟然后退出。如果你从 Linux 主机(或在 Linux 容器模式下运行的 Windows 主机)运行以下命令,你的 shell 将附加到容器的 shell 上 10 秒钟,然后退出:docker container run alpine:latest sleep 10。你可以用以下命令在 Windows 容器中做同样的事情:docker container run microsoft/powershell:nanoserver Start-Sleep -s 10

您可以使用docker container stop命令手动停止容器,然后使用docker container start重新启动它。要永久删除容器,必须使用docker container rm显式删除它。

这就是电梯推介!现在让我们深入了解细节…

Docker 容器-深入探讨

我们将在这里首先介绍容器和虚拟机之间的基本区别。目前主要是理论,但这很重要。在此过程中,我们将指出容器模型相对于虚拟机模型的潜在优势。

**注意:**作为作者,在我们继续之前,我要说这个。我们很多人对我们所做的事情和我们拥有的技能都很热情。我记得大型 Unix的人抵制 Linux 的崛起。你可能也记得同样的事情。你可能还记得人们试图抵制 VMware 和 VM 巨头。在这两种情况下,“抵抗是徒劳的”。在本节中,我将强调容器模型相对于 VM 模型的一些优势。但我猜你们中的很多人都是 VM 专家,对 VM 生态系统投入了很多。我猜你们中的一两个人可能想和我争论我说的一些事情。所以让我明白一点…我是个大个子,我会在肉搏战中打败你

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/966618
推荐阅读
相关标签