本文将介绍如何配置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:
运行以下命令: Install-Module -Name DockerMsftProvider -Repository PSGallery -Force 这将从PowerShell库安装Docker-Microsoft PackageManagement Provider。 示例输出如下所示:
步骤2:在Windows Server 2019上安装Docker 在Windows Server 2019上启用容器功能后,通过在PowerShell会话中运行以下命令来安装最新的Docker Engine和Client: Install-Package -Name docker -ProviderName DockerMsftProvider 同意使用“Yes”或“Y”或“A”:
安装完成后,重新启动计算机: Restart-Computer -Force 可以使用以下命令检查已安装的Docker版本: Administrator> Get-Package -Name Docker -ProviderName DockerMsftProvider
使用docker --version命令也可以查询到:
可以通过在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容器的内容讲完了。
相关主题 |