云网牛站
所在位置:首页 > Linux教程 > 在Windows Server 2019上运行Docker容器的方法

在Windows Server 2019上运行Docker容器的方法

2019-02-16 09:42:22作者:李民乐稿源:云网牛站

本文将介绍如何配置Windows Server 2019以运行Docker容器,包括运行Linux容器。Docker已成为应用程序容器化和整个微服务设计和部署模式的规则改变者,Docker可以轻松构建,运送和运行包含具有依赖关系的应用程序的映像,并避免使用虚拟机时常见的依赖性问题。

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

一个前提条件是安装Windows服务器,参考在Linux中使用虚拟机安装Windows Server 2019的方法,可以在运行内部部署的虚拟机,物理服务器部署或在Azure中运行的云实例上进行。

 

在Windows Server 2019上运行Docker容器

在使用Windows Containers运行系统的多个独立应用程序之前,你需要启用容器功能并在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 Engine和Client:

Install-Package -Name docker -ProviderName DockerMsftProvider

同意使用“Yes”或“Y”或“A”:

在Windows Server 2019上运行Docker容器的方法

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

Restart-Computer -Force

可以使用以下命令检查已安装的Docker版本:

Administrator> Get-Package -Name Docker -ProviderName DockerMsftProvider

在Windows Server 2019上运行Docker容器的方法

使用docker --version命令也可以查询到:

在Windows Server 2019上运行Docker容器的方法

可以通过在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 microsoft/dotnet-samples:dotnetapp-nanoserver-1809

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

docker run microsoft/dotnet-samples:dotnetapp-nanoserver-1809

容器将启动,打印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 Service:

Restart-Service docker

测试docker image一下:

> 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容器的内容讲完了。

 

相关主题

详细介绍在Ubuntu 18.04 LTS下docker容器的安装

精选文章
热门文章