入门:运行第一个 Windows 容器

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

本文介绍如何在设置环境后运行第一个 Windows 容器,如 入门:为容器准备 Windows。 运行容器涉及两个常规步骤:

  • 下载基础映像。 使用容器时,下载基础映像的过程称为 拉取操作。 基础映像为容器提供操作系统服务的基础层。
  • 创建并运行基于基础映像的容器映像。

拉取容器基础映像

所有容器都是从容器映像创建的。 Microsoft提供了多个初学者映像(称为基础映像)可供选择。 有关详细信息,请参阅 容器基础映像。

可以使用以下过程 来拉取 轻型 Nano Server 基础映像,或者换句话说,下载并安装该映像。

  1. 打开控制台窗口,例如内置的命令提示符、PowerShell 或 Windows 终端。

  2. 运行以下命令以下载并安装基础映像:

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

    等待时,请阅读 映像补充许可证的条款。

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

    提示

    如果看到错误消息“清单列表条目中没有 Linux/amd64 的匹配清单”,Docker 可能配置为运行 Linux 容器而不是 Windows 容器。 若要切换到 Docker 中的 Windows 容器,请执行以下步骤之一:

    • 在 Windows 系统托盘中,右键单击 Docker 图标,然后选择“ 切换到 Windows 容器”。
    • 在命令提示符下,运行 & $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon。
  3. 通过查询本地 Docker 映像存储库来验证系统上是否存在映像。 可以通过运行 docker images 命令来执行此检查,该命令返回已安装映像的列表。

    下面是该命令的输出示例,其中显示了 Nano Server 图像。

    REPOSITORY                             TAG        IMAGE ID       CREATED      SIZE
    mcr.microsoft.com/windows/nanoserver   ltsc2022   4f0ead5b1b67   6 days ago   296MB
    

运行 Windows 容器

对于本基本示例,你将创建并部署 Hello World 容器映像。 为获得最佳体验,请在提升的命令提示符下运行本节中的命令。 但不要使用 Windows PowerShell 集成脚本环境(ISE)。 它不适合与容器进行的交互式会话,似乎容器停止了响应。

  1. 通过在命令提示符处输入以下命令,从 nanoserver 映像启动包含交互式会话的容器:

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

    容器启动,控制台窗口将上下文更改为容器。

  2. 在容器中运行以下命令。 第一个命令创建一个文本文件,其中包含短语“Hello World!”第二个命令退出容器。

    echo "Hello World!" > Hello.txt
    exit
    
  3. 通过运行以下命令 docker ps 获取刚刚退出的容器的容器 ID:

    docker ps -a
    
  4. 创建一个新 helloworld 映像,其中包含运行的第一个容器中的更改。 为此,请运行 docker commit 命令,将 <container-ID> 替换为您的容器的 ID:

    docker commit <container-ID> helloworld
    

    现在,你有一个包含 Hello.txt 文件的自定义映像。 可以使用 docker images 该命令来查看新映像。

    docker images
    

    下面是输出的示例:

    REPOSITORY                             TAG        IMAGE ID       CREATED          SIZE
    helloworld                             latest     81013d6b73ae   25 seconds ago   299MB
    mcr.microsoft.com/windows/nanoserver   ltsc2022   4f0ead5b1b67   6 days ago       296MB
    
  5. 使用包含该选项的docker run--rm命令运行新容器。 使用此选项时,Docker 会在命令 cmd.exe 停止时自动删除容器。

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

    Docker 从 helloworld 映像创建容器,并启动容器中的实例 cmd.exe 。 进程 cmd.exe 读取 Hello.txt 文件并将内容写入控制台窗口。 最后一步是 Docker 停止并删除容器。

使用 Windows Admin Center 运行 Windows 容器

可以使用 Windows Admin Center 在本地运行容器。 具体而言,可以使用 Windows Admin Center 的容器扩展实现此目的。

查看容器映像

  1. 打开要管理的容器主机。

  2. 在 “工具 ”窗格中,选择 “容器 ”以打开容器扩展。

  3. 在主窗格中的 “容器主机”下,选择“ 映像”。

    Windows Admin Center 的屏幕截图。在容器扩展中,“映像”选项卡列出有关映像的信息,例如存储库和映像 ID。

拉取容器映像

  1. 如果主机没有基础容器映像,请选择 “拉取 ”以打开 “拉取容器映像 ”对话框。

    “拉取容器映像”对话框的屏幕截图,其中包含存储库和标签的字段。有几个常见的 Windows 映像供选择。

  2. 在 “拉取容器映像 ”对话框中,输入映像 URL 和标记。

    • 如果不确定要拉取哪个镜像,请展开 Common Windows 镜像 以查看来自 Microsoft 的常见镜像列表。
    • 如果要从专用存储库拉取映像,请展开 注册表身份验证 以输入凭据。
  3. 选择 拉取。 Windows Admin Center 在容器主机上启动拉取过程。 下载完成后,可在“ 图像 ”选项卡上看到新图像。

运行映像

  1. 选择要运行的映像,然后选择“ 运行”。 此时会打开 “运行映像 ”对话框。

    “运行映像”对话框的屏幕截图,其中包含容器名称和其他信息的字段。“添加”按钮可用于配置选项。

  2. 在 “运行映像 ”对话框中,输入配置容器的信息,例如容器名称、隔离类型、要发布的端口以及内存和 CPU 分配。 还可以添加选项以追加到 docker run 命令,例如通过 -v 指定永久性卷。 有关可用 docker run 参数的详细信息,请参阅 docker container run。

  3. 选择 运行。 “ 容器 ”选项卡显示正在运行的容器的状态。

    Windows Admin Center 的屏幕截图。在容器扩展中,“容器”选项卡列出有关一个容器的信息,例如 ID 和状态。

后续步骤