当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Windows Server 2019 上运行 Docker 容器

作者:精品下载站 日期:2024-12-14 12:23:02 浏览:16 分类:玩电脑

在 Windows Server 2019 上运行 Docker 容器


在本教程中,我们将了解如何配置 Windows Server 2019 来运行 Docker 容器。 Docker 已经成为应用程序容器化以及整个微服务设计和部署模式的游戏规则改变者。 Docker 可以轻松构建、传送和运行包含应用程序及其依赖项的映像,并避免使用虚拟机时常见的疯狂依赖问题。

Docker 引擎为 Docker 容器提供动力。它最初是为 Linux 编写的,但为了让 Windows 和 macOS 用户能够运行 Docker 容器,我们已经做了很多工作。

先决条件之一是安装 Windows 服务器。这可以是在本地运行的虚拟机、物理服务器部署或在 Azure 中运行的云实例。您可以参考下面我们的安装指南。

  • 如何逐步安装 Windows Server 2019

如何在 Windows Server 2019 上运行 Docker 容器

在使用 Windows 容器在系统中运行多个独立的应用程序之前,您需要启用容器功能并在 Windows Server 2019 上安装 Docker。

步骤 1:在 Windows Server 2019 中启用容器功能

第一步是启用 Windows Server 2019 容器功能。以管理员身份打开 PowerShell。

[玩转系统] 在 Windows Server 2019 上运行 Docker 容器

运行以下命令。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

这将从 PowerShell 库安装 Docker-Microsoft PackageManagement Provider。

示例输出如下所示:

[玩转系统] 在 Windows Server 2019 上运行 Docker 容器

步骤2:在Windows Server 2019上安装Docker

在 Windows Server 2019 上启用容器功能后,通过在 PowerShell 会话中运行以下命令来安装最新的 Docker 引擎和客户端。

Install-Package -Name docker -ProviderName DockerMsftProvider

使用“是”或“Y”或“A”同意安装以同意全部。

[玩转系统] 在 Windows Server 2019 上运行 Docker 容器

安装完成后,重新启动计算机。

Restart-Computer -Force

可以通过以下方式检查已安装的 Docker 版本:

Administrator> Get-Package -Name Docker -ProviderName DockerMsftProvider
 Name                           Version          Source                           ProviderName
 ----                           -------          ------                           ------------
 docker                         18.09.2          DockerDefault                    DockerMsftProvider

使用 docker --version 命令也可以实现同样的效果。

PS C:\Users\Administrator> docker version
 Client:
  Version:           18.09.2
  API version:       1.39
  Go version:        go1.10.6
  Git commit:        1ac774dfdd
  Built:             unknown-buildtime
  OS/Arch:           windows/amd64
  Experimental:      false
 error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/version: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

可以随时通过在 PowerShell 上运行以下命令来完成升级。

Install-Package -Name Docker -ProviderName DockerMsftProvider -Update -Force
Start-Service Docker

第3步:运行Docker容器

启动 Docker 守护进程

Start-Service Docker

启动 Docker Engine 服务后,从 Docker Hub 注册表下载预先创建的 .NET示例镜像:

docker pull mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009

您可以在 https://mcr.microsoft.com/v2/dotnet/samples/tags/list 检索 dotnet/samples 的所有可用标记的列表

然后部署一个运行 .Net Hello World 应用程序的简单容器。

docker run mcr.microsoft.com/dotnet/samples:dotnetapp-nanoserver-2009

容器将启动,打印 hello world 消息,然后退出。

在 Windows Server 2019 上运行 Linux 容器

Windows 上的 Docker 开箱即用,仅运行 Windows 容器。要在 Windows Server 上使用 Linux 容器,您需要使用 Docker Enterprise Edition Preview,其中包括用于运行 Docker Linux 容器的完整 LinuxKit 系统。

卸载当前的 Docker CE。

Uninstall-Package -Name docker -ProviderName DockerMSFTProvider

如果您使用在 Hyper-V 上运行的 Linux 虚拟机来运行 Docker 容器,请启用嵌套虚拟化。

Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true

然后安装 Docker EE 的当前预览版本。

Install-Module DockerProvider
Install-Package Docker -ProviderName DockerProvider -RequiredVersion preview

启用LinuxKit系统来运行Linux容器

[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "1", "Machine")

更改后重启Docker服务。

Restart-Service docker

拉取测试 docker 镜像。

> docker run -it --rm ubuntu /bin/bash
 root@1440a7fef7e0:/# cat /etc/os-release 
 NAME="Ubuntu"
 VERSION="18.04.1 LTS (Bionic Beaver)"
 ID=ubuntu
 ID_LIKE=debian
 PRETTY_NAME="Ubuntu 18.04.1 LTS"
 VERSION_ID="18.04"
 HOME_URL="https://www.ubuntu.com/"
 SUPPORT_URL="https://help.ubuntu.com/"
 BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
 PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
 VERSION_CODENAME=bionic
 UBUNTU_CODENAME=bionic

 root@1440a7fef7e0:/# exit
 exit

要切换回正在运行的 Windows 容器,请运行:

[Environment]::SetEnvironmentVariable("LCOW_SUPPORTED", "$null", "Machine")

享受在 Windows Server 2019 上运行 Linux 和 Windows 容器的乐趣。如有任何问题,请给我们留言。

学习 Kubernetes 管理的书籍:

  • 最佳 Kubernetes 学习书籍

另请检查:

  • 如何从 Windows 命令行安装应用程序
  • 如何在 Windows Server 2019 上允许 ICMP 回显回复
  • 如何在 Windows Server 2019 上启用远程桌面协议 (RDP)
  • 如何使用 WSL 在 Windows Server 2019 上运行 Linux

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯