入门:运行第一个 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 和状态。

后续步骤