基本 Docker 命令

已完成

以下部分讨论了您下载映像并启动容器所需的基本 Docker 命令。

下载映像

要下载映像,您需要使用 docker pull 命令,从中可以指定映像名称。 映像存储在存储库中,因此应提供全名。

以下为 docker pull 命令的示例:

docker pull <image_name>

要下载 Windows Server Core 映像,请使用以下逻辑:

docker pull mcr.microsoft.com/windows/servercore:ltsc2019

LTSC 是长期服务渠道,(通常)每三年更新一次。 LTSC 版本适用于 Windows Server 2016 和 Windows Server 2019,2019 版是要运行它的平台。 基础操作系统也是 Windows Server 2019 版。

在 2020 年夏季之前,Microsoft 为 Business Central 提供单独映像,但此后替换为工件。 不同的 Business Central 映像/工件将在后续单元说明。

使用这些映像,可以下载要在 Windows Server 2019 上运行的最新可用 Business Central 沙盒。

docker pull mcr.microsoft.com/businesscentral/sandbox:ltsc2019

第一次下载映像时,可能需要几分钟到几小时时间(具体取决于您的连接速度)。 每个映像都使用不同的块构建,可在下载另一映像时重复使用。 如果另一映像也使用 Windows Server Core 2019,则可以重复使用已下载的块。

创建容器

下载映像后,可以创建容器。 容器是映像的实例。 可以使用 docker run 命令创建映像:

docker run <image_name> --name <container_name>

使用 docker run 命令,可以启动您作为参数提供的新映像实例。 (可选)可以使用 --name 选项对本实例命名;否则,Docker 将生成一个名称(始终为一个形容词加一个人名,如“awesome_john”)。 建议您在名称中使用小写字母。

docker run mcr.microsoft.com/businesscentral/sandbox:ltsc2019 --name bcdev

docker run 命令还接受其他几个选项,这些选项将不在本单元中进行讨论。 应讨论的一个选项是 -ti 选项,它用于在交互模式下创建容器。 它将在容器内启动一个终端以与容器交互。 如果将 cmd 作为参数传递,它将在容器内启动命令提示符,然后您可以使用命令进行交互。

docker run -ti mcr.microsoft.com/windows/servercore:ltsc2019 cmd

显示容器

要显示正在运行的容器,可以使用 docker ps 命令。 如果指定 -a 选项,可以获取全部容器列表,甚至包含未运行的容器。

docker ps
docker ps -a

每个容器由容器 ID 和名称进行标识。 要对容器运行其他命令,可以使用 ID 或名称。 列表还将显示容器所基于的映像。

CONTAINER ID  IMAGE                                              NAMES
321046e7faca  mcr.microsoft.com/windows/servercore:ltsc2019      awesome_john
11a1be01305d  mcr.microsoft.com/businesscentral/sandbox:ltsc2019 bcdev

启动和停止容器

使用容器时,无需使用 docker run 命令来启动容器,因为此操作每次都会创建一个新的容器。 要启动容器,可使用 docker start 命令;要停止容器,可使用 docker stop 命令。

docker start 11a1be01305d
docker stop 11a1be01305d

删除容器

要删除容器而不删除映像,可使用 docker rm 命令。 只能删除未在运行的容器。 因此,要删除正在运行的容器,需使用 docker stop 命令停止容器,然后使用 docker rm 命令。 还可以在 docker rm 命令上使用 -f 选项强制删除。

docker rm 11a1

使用容器 ID 或名称

在上一示例中只指定了容器 ID 的一部分。 实际上,指定一部分容器 ID 足以唯一标识容器。 先前示例显示了两个容器,一个 ID 为 321046e7faca,另一个 ID 为 11a1be01305d。 两个容器 ID 的第一个字母已然不同。

可以在以下命令中使用本第一个字母:

docker start 1
docker stop 1
docker rm 1

还可以使用名称而非 ID:

docker start bcdev
docker stop bcdev
docker rm bcdev

对 Visual Studio Code 使用 Docker 扩展

Microsoft 发布了适用于 Visual Studio Code 的扩展,可帮助您创建、管理和调试容器。 在 Visual Studio Code 中,可以在扩展选项卡中搜索 Docker。请参阅 适用于 Visual Studio Code 的 Docker

本扩展提供了映像、容器和注册表的清晰概览。 此外,还可以使用本扩展轻松创建卷。

Visual Studio Code 中 Docker 扩展的屏幕截图。