Windows Server 2016 中的 Docker

流程图

引言

Docker 是一种领先的容器化平台,它可以帮助开发人员和运维团队更轻松地构建、部署和运行应用程序。在过去的几年里,Docker 在 Linux 平台上取得了巨大的成功和流行度,但它的支持在 Windows 平台上一直有限。然而,Windows Server 2016 引入了对 Docker 的全面支持,为 Windows 用户提供了一个强大的容器化解决方案。

本文将介绍如何在 Windows Server 2016 上安装和配置 Docker,并提供一些常用的代码示例来演示如何使用 Docker 部署和管理应用程序。

安装 Docker

首先,我们需要在 Windows Server 2016 上安装 Docker。以下是安装步骤:

  1. 下载 Docker 安装程序。可以从 Docker 官方网站上下载最新版本的安装程序。

  2. 执行安装程序并按照向导的指示进行安装。

  3. 安装完成后,重新启动计算机以使更改生效。

安装完成后,我们可以验证 Docker 是否成功安装。打开命令提示符或 PowerShell,运行以下命令:

docker version

如果安装成功,将显示 Docker 的版本信息。

Docker 基本操作

运行容器

要运行容器,我们需要使用 docker run 命令。以下是一个简单的示例:

docker run hello-world

该命令将从 Docker Hub 下载 hello-world 镜像并运行一个容器。如果一切正常,你将在控制台上看到 Hello from Docker! 的输出。

查看容器

要查看正在运行的容器,我们可以使用 docker ps 命令。以下是一个示例:

docker ps

该命令将显示当前正在运行的容器的列表。

构建镜像

要构建自己的镜像,我们需要使用 Dockerfile。以下是一个简单的 Dockerfile 示例:

FROM microsoft/windowsservercore
COPY app.exe /app/app.exe
CMD ["app.exe"]

这个 Dockerfile 从 microsoft/windowsservercore 镜像开始,将 app.exe 复制到容器中的 /app 目录,并在容器启动时运行 app.exe

要构建镜像,我们可以使用 docker build 命令。以下是一个示例:

docker build -t myapp .

该命令将使用当前目录下的 Dockerfile 构建一个名为 myapp 的镜像。

运行自定义镜像

要运行我们自己构建的镜像,我们需要使用 docker run 命令。以下是一个示例:

docker run myapp

该命令将使用我们构建的 myapp 镜像运行一个容器。

使用 Docker 部署应用程序

现在让我们来看一个更实际的例子,演示如何使用 Docker 部署一个简单的 Web 应用程序。

我们假设我们有一个 ASP.NET Core 应用程序,它使用 Microsoft SQL Server 作为数据库。以下是我们的目录结构:

myapp/
  |-- app/
  |     |-- app.dll
  |-- Dockerfile
  |-- docker-compose.yml

首先,我们需要创建一个 Dockerfile 来构建我们的应用程序镜像。以下是一个示例:

FROM microsoft/aspnetcore
WORKDIR /app
COPY app .
CMD ["dotnet", "app.dll"]

这个 Dockerfile 使用了 microsoft/aspnetcore 镜像作为基础镜像,并将应用程序文件复制到容器的 /app 目录中。然后,它通过运行 dotnet app.dll 命令来启动应用程序。

接下来,我们需要创建一个 docker-compose.yml 文件来定义我们的应用程序的服务。以下是一个示例:

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"