问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

入门:运行第一个 Windows 容器

创作时间:
作者:
@小白创作中心

入门:运行第一个 Windows 容器

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/run-your-first-container

容器技术是现代软件开发和部署的重要组成部分,它允许开发者将应用程序及其依赖项打包成一个独立的、可移植的单元,从而实现快速部署和高效运行。本指南将帮助你快速入门Windows容器,从环境准备到运行第一个容器,让你亲身体验容器技术的魅力。

本文内容

适用于:Windows Server 2025、Windows Server 2022、Windows Server 2019、Windows Server 2016

在按照入门:为容器准备 Windows中的说明设置环境后,本主题将说明如何运行第一个 Windows 容器。 要运行容器,首先需要下载一个基础镜像(在容器中也称为拉取操作),这个镜像为容器提供操作系统服务的基础层。 然后,创建并运行基于基础映像的容器映像。 有关详细信息,请继续阅读。

拉取容器基础映像

所有容器都是从容器映像创建的。 Microsoft提供了多个初学者映像(称为基础映像)可供选择(有关详细信息,请参阅容器基础映像)。 此过程将拉取(下载并安装)轻型 Nano Server 基础映像。

打开命令提示符窗口(例如内置命令提示符、PowerShell 或Windows 终端),然后运行以下命令下载并安装基础映像:

docker pull mcr.microsoft.com/windows/nanoserver:ltsc22

如果在尝试拉取映像时 Docker 无法启动,则 Docker 守护程序可能无法访问。 若要解决此问题,请尝试重启 Docker 服务。

提示

如果看到一条错误消息,指出
no matching manifest for linux/amd64 in the manifest list entries
,请确保未将 Docker 配置为运行 Linux 容器。 若要切换到 Docker 中的 Windows 容器,请右键单击 Docker 图标,然后选择切换到 Windows 容器。 若要使用命令行在容器之间切换,请运行
& $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon

映像下载完成后,请在等待时读取EULA,并通过查询本地 docker 映像存储库来验证其在系统上是否存在。 运行命令

docker images

返回已安装映像的列表。

下面是显示 Nano Server 图像的输出示例。

REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
microsoft/nanoserver   latest              105d76d0f40e        4 days ago          652 MB

运行 Windows 容器

对于这个简单示例,将创建并部署一个“Hello World”容器映像。 为了获得最佳体验,请在管理员权限的命令提示符窗口中运行这些命令(但不要使用 Windows PowerShell ISE,它不适合与容器的交互式会话,这会导致容器似乎卡住了)。

通过在命令提示符窗口中输入以下命令,从
nanoserver
映像启动具有交互式会话的容器:

docker run -it mcr.microsoft.com/windows/nanoserver:ltsc22 cmd.exe

容器启动后,命令提示符窗口的上下文会切换到容器内。 在容器中,我们将创建一个简单的“Hello World”文本文件,然后输入以下命令退出容器:

echo "Hello World!" > Hello.txt
exit

通过运行命令docker ps获取你刚退出的容器 ID:

docker ps -a

创建一个新的“HelloWorld”镜像,包含在您运行的第一个容器中的更改。 为此,请运行docker commit命令,将

替换为容器的 ID:

docker commit <containerid> helloworld

现在,你有一个包含 hello world 脚本的自定义映像。 这可以通过docker images命令来查看。

docker images

下面是输出的示例:

REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
helloworld                             latest              a1064f2ec798        10 seconds ago      258MB
mcr.microsoft.com/windows/nanoserver   2022                2b9c381d0911        3 weeks ago         256MB

最后,使用docker run命令运行新容器,该命令配合
--rm
参数,可以在命令行(cmd.exe)停止后自动删除容器。

docker run --rm helloworld cmd.exe /s /c type Hello.txt

结果是 Docker 从“HelloWorld”映像创建了容器,Docker 在容器中启动了 cmd.exe 实例,cmd.exe 读取文件并将内容输出到 shell。 最后一步是 Docker 停止并删除了容器。

使用 Windows Admin Center 运行 Windows 容器

使用 Windows Admin Center 在本地运行容器。 具体而言,使用 Windows Admin Center 实例的容器扩展来运行容器。 首先,打开要管理的容器主机,然后在“工具”窗格中,选择容器扩展。 然后,在容器扩展的“容器主机”下选择“映像”选项卡。

容器扩展图像”选项卡

如果主机没有基础容器映像,请选择“拉取”选项以打开“拉取容器映像”设置:

在“拉取容器映像”设置中,提供映像 URL 和标记。 如果不确定要拉取哪个映像,Windows Admin Center 会提供来自Microsoft的常见映像列表。 还可以提供用于从专用存储库提取映像的凭据。 填写必要的信息后,选择“拉取”。 Windows Admin Center 在容器主机上启动拉取过程。 下载完成后,可在“映像”选项卡上看到新映像。

选择要运行的映像,然后选择“运行”。

运行菜单上,设置容器的配置,例如容器名称、隔离类型、要发布的端口以及内存和 CPU 分配。 此外,还可以追加不在 UI 中的 Docker 运行命令,例如 -v(对于永久性卷)。 有关可用 Docker 运行参数的详细信息,请查看文档。

完成容器的配置后,单击运行。 可以在“容器”选项卡上查看正在运行的容器的状态

显示正在运行的容器的“

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号