什么是容器?
容器是可供应用程序运行的隔离环境。
容器、应用程序及其所有依赖项均使用主机的一部分资源(如内核操作系统、CPU 和内存)构建而成,然后在逻辑上与其他容器和主机本身隔离。
下图展示了红色和黄色容器如何在同一主机中共存,它们使用相同的硬件和内核操作系统,但位于各自的空间中,因此能够在不受到外部干扰的情况下运行各自的应用程序。
可以看到,相同硬件和硬件上安装的操作系统可以运行自己的应用程序和服务,并且也与每个容器隔离。
如何在 Windows Server 中创建和运行容器
容器可以在各种平台上运行,例如 Linux、Windows 和 Mac 操作系统。但是,本文章/演示重点介绍在 Windows Server 中运行容器。
Windows 容器有多种使用方法,包括 Windows Admin Center (WAC) 或 Visual Studio。但本文章/演示中使用 Docker。
Docker 是一款平台即服务产品,可用于将应用程序及其所有依赖项和配置信息封装到一个容器中。然后,Docker 可用于提供、运行或删除该容器。
后续步骤在全新安装 Windows Server 2022 上执行。
您可以在以下外部链接中找到在 Windows Server 上运行容器的前提条件列表:
入门:准备 Windows 以使用容器
使用 Docker 在 Windows Server 上创建和运行容器的步骤概括如下:
1.安装 Docker
在 PowerShell 中(以管理员身份运行),输入:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
在提示处,输入“
Y”以确认安装 NuGet。
在同一 PowerShell 会话中,输入:
Install-Package -Name docker -ProviderName DockerMsftProvider
在提示处,输入“
Y”以信任该程序包。
在同一 PowerShell 会话中,输入:
Restart-Computer
2.创建 Docker 文件并下载容器映像
在提权的 PowerShell 会话中,通过输入以下命令切换到根目录并创建新文件夹:
cd\
mkdir Containers
cd Containers
在同一 PowerShell 会话中,通过输入以下命令创建 Docker 文件并进行编辑:
New-Item dockerfile
(请注意,没有文件扩展名)
notepad dockerfile
在记事本文本编辑器中,输入以下 3 行代码,然后保存并关闭 dockerfile:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
返回到 Powershell,仍在 C:\Containers 上下文中,通过输入以下命令创建 n html 文件并进行编辑:
New-Item index.html
notepad index.html
在记事本文本编辑器中,输入以下三行命令,然后保存并关闭 index.html 文件:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3.构建并运行容器。
返回 PowerShell,仍在 C:\Containers 中,键入:
docker build -t webserver .
等待映像从 Microsoft Container Registry 下载,然后键入:
docker images
您现在应该会看到下载好的映像。
要使用下载的映像模板最终运行容器,请返回 PowerShell,键入:
run --name container1 -d -p 80:80 webserver
此最后一行代码会根据准备好的 Web 服务器映像创建并运行名为 container1 的容器。-d 开关指示 Windows 在后台运行容器,-p 指示 Windows 将主机上的端口 80 (HTTP) 转发到容器上的端口 80。
要测试容器:
在主机上打开网页浏览器并浏览到 localhost(您也可以在同一网段上的其他计算机,并浏览到容器的主机 IP 地址或计算机名称)。
您应该会看到之前创建的示例 HTML 网页:
有关如何在 Windows Server 2022 上运行 Docker 容器的教程便已完成。