Docker Desktop for Windows user manual

预计阅读时间:18分钟

欢迎来到 Docker 桌面! Docker Desktop for Windows 用户手册提供了有关如何配置和管理 Docker Desktop 设置的信息.

有关 Docker Desktop 下载、系统要求和安装说明的信息,请参阅安装 Docker Desktop .

Settings

Docker 桌面菜单允许您打开 Docker 仪表板、运行快速入门指南、配置您的 Docker 设置,例如安装、更新、版本通道、Docker Hub 登录等.

本节介绍可从"设置"对话框访问的配置选项.

  1. 要打开 Docker 桌面菜单,请右键单击通知区域(或系统托盘)中的 Docker 图标:

    Showing hidden apps in the taskbar

  2. 选择设置以打开设置对话框:

    Docker Desktop popup menu

General

General选项卡上,您可以配置何时启动 Docker 并指定其他设置.

Settings

  • 登录时启动 Docker :选择此选项可在您登录 Windows 机器时自动启动 Docker Desktop.

  • 在没有 TLS 的情况下在 tcp://localhost:2375 上公开守护进程:单击此选项以启用旧客户端连接到 Docker 守护进程. 您必须谨慎使用此选项,因为在没有 TLS 的情况下公开守护程序可能会导致远程代码执行攻击.

  • 使用基于 WSL 2 的引擎:WSL 2 提供比传统 Hyper-V 后端更好的性能. 有关更多信息,请参阅Docker 桌面 WSL 2 后端.

  • 发送使用统计:默认情况下,Docker Desktop 会发送诊断、崩溃报告和使用数据. 此信息有助于 Docker 改进应用程序并对其进行故障排除. 清除复选框以退出. Docker 可能会定期提示您提供更多信息.

  • 显示每周提示:显示有关使用 Docker 的有用建议和建议.

  • 启动时打开 Docker Desktop 仪表板:启动Docker 桌面时自动打开仪表板.

  • 使用 Docker Compose V2 :选择此选项以启用docker-compose命令以使用 Docker Compose V2. 有关更多信息,请参阅Docker Compose V2 .

Resources

资源选项卡允许您配置 CPU、内存、磁盘、代理、网络和其他资源. 根据您使用的是 WSL 2 模式的 Linux 容器、Hyper-V 模式的 Linux 容器还是 Windows 容器,可以使用不同的设置进行配置.

Advanced

Note

高级选项卡仅在 Hyper-V 模式下可用,因为 Windows 在 WSL 2 模式和 Windows 容器模式下管理资源. 在 WSL 2 模式下,您可以配置对分配给WSL 2 实用程序 VM的内存、CPU 和交换大小的限制.

使用Advanced选项卡来限制 Docker 可用的资源.

  • CPUs :默认情况下,Docker Desktop 设置为使用主机上可用处理器数量的一半. 要提高处理能力,请将其设置为更高的数字. 要降低处理能力,请将其设置为较低的数字.

  • 内存:默认情况下,Docker Desktop 设置为使用2 GB 运行时内存,从您机器上的总可用内存中分配. 要增加 RAM,请将其设置为更高的数字. 要减少 RAM,请降低数字.

  • Swap :根据需要配置交换文件大小. 默认值为 1 GB.

  • 磁盘映像大小:指定磁盘映像的大小.

  • 磁盘映像位置:指定存储容器和映像的 Linux 卷的位置.

您还可以将磁盘映像移动到其他位置. 如果您尝试将磁盘映像移动到已有映像的位置,则会收到提示,询问您是要使用现有映像还是替换它.

File sharing

Note

文件共享选项卡仅在 Hyper-V 模式下可用,因为文件在 WSL 2 模式和 Windows 容器模式下自动共享.

使用文件共享允许 Windows 上的本地目录与 Linux 容器共享. 这对于在运行和测试容器中的代码时在主机上的 IDE 中编辑源代码特别有用. 请注意,Windows 容器不需要配置文件共享,只有Linux 容器. 如果目录未与 Linux 容器共享,您可能会在运行时收到file not foundcannot start service错误. 请参阅卷安装需要 Linux 容器的共享文件夹.

文件共享设置为:

  • 添加目录:单击+并导航到要添加的目录.

  • Apply & Restart使用 Docker 的绑定挂载 ( -v ) 功能使该目录可用于容器.

有关共享文件夹、权限和卷装载的提示

  • 仅与容器共享您需要的目录. 文件共享会带来开销,因为对主机上文件的任何更改都需要通知 Linux VM. 共享太多文件会导致高 CPU 负载和降低文件系统性能.

  • 共享文件夹旨在允许在主机上编辑应用程序代码,同时在容器中执行. 对于缓存目录或数据库等非代码项,如果将它们存储在 Linux VM 中,使用数据卷(命名卷)或数据容器,性能会好得多.

  • Docker Desktop 为用户、组和其他0777 或 a+rwx设置读/写/执行权限. 这是不可配置的. 请参阅 共享卷的数据目录的权限错误.

  • Windows 向应用程序提供文件系统不区分大小写的视图,而 Linux 区分大小写. 在 Linux 上,可以创建两个单独的文件: testTest ,而在 Windows 上,这些文件名实际上是指同一个底层文件. 这可能会导致应用程序在开发人员 Windows 机器上正常运行(文件内容共享)但在 Linux 生产环境中运行时失败(文件内容不同). 为避免这种情况,Docker Desktop 坚持将所有共享文件作为原始文件进行访问. 因此,如果创建了一个名为test的文件,它必须以test的形式打开. 尝试打开Test将失败并显示"没有此类文件或目录". 同样,一旦创建了名为test的文件,尝试创建第二个名为Test的文件将失败.

Shared folders on demand

您可以在容器第一次使用特定文件夹时"按需"共享文件夹.

如果您从带有卷挂载的 shell 运行 Docker 命令(如下例所示)或启动包含卷挂载的 Compose 文件,您会收到一个弹出窗口,询问您是否要共享指定的文件夹.

您可以选择共享它,在这种情况下,它会添加到您的 Docker 桌面共享文件夹列表并可供容器使用. 或者,您可以通过选择取消来选择不共享它.

Shared folder on demand

Proxies

Docker Desktop 检测 HTTP/HTTPS 代理设置并自动将这些传播到 Docker. 例如,如果您将代理设置设置为http://proxy.example.com ,则 Docker 在拉取容器时会使用此代理.

但是,您的代理设置不会传播到您启动的容器中. 如果你想为你的容器设置代理设置,你需要为它们定义环境变量,就像你在 Linux 上做的那样,例如:

> docker run -e HTTP_PROXY=http://proxy.example.com:3128 alpine env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
HOSTNAME=b7edf988b2b5
TERM=xterm
HOME=/root
HTTP_PROXY=http://proxy.example.com:3128

有关为运行的容器设置环境变量的更多信息,请参阅设置环境变量.

Network

Note

网络选项卡在 Windows 容器模式下不可用,因为 Windows 管理网络.

您可以将 Docker 桌面网络配置为在虚拟专用网络 (VPN) 上工作. 指定网络地址转换 (NAT) 前缀和子网掩码以启用 Internet 连接.

WSL Integration

在 WSL 2 模式下,您可以配置哪些 WSL 2 发行版将具有 Docker WSL 集成.

默认情况下,将在您的默认 WSL 发行版上启用集成. 要更改默认 WSL 发行版,请运行wsl --set-default <distro name> . (例如,要将 Ubuntu 设置为您的默认 WSL 发行版,请运行wsl --set-default ubuntu ).

您还可以选择要启用 WSL 2 集成的任何其他发行版.

For more details on configuring Docker Desktop to use WSL 2, see Docker 桌面 WSL 2 后端.

Docker Engine

Docker 引擎页面允许您配置 Docker 守护程序以确定容器的运行方式.

在框中键入 JSON 配置文件以配置守护程序设置. 有关选项的完整列表,请参阅 Docker 引擎dockerd 命令行参考.

单击应用并重新启动以保存您的设置并重新启动 Docker 桌面.

Command Line

在命令行页面上,您可以指定是否启用实验性功能.

您可以在 Docker Desktop 中打开和关闭实验功能. 如果关闭实验功能,Docker Desktop 将使用当前普遍可用的 Docker 引擎版本.

Experimental features

实验功能提供对未来产品功能的早期访问. 这些功能仅用于测试和反馈,因为它们可能会在版本之间更改而不会发出警告,或者可以从未来版本中完全删除. 不得在生产环境中使用实验性功能. Docker 不提供对实验性功能的支持.

有关 Docker CLI 中当前实验功能的列表,请参阅Docker CLI 实验功能.

运行docker version以验证您是否启用了实验性功能. 实验模式列在Server数据下. 如果Experimentaltrue ,则 Docker 以实验模式运行,如下所示:

> docker version

Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        74b1e89
 Built:             Thu Jul 25 21:17:08 2019
 OS/Arch:           windows/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.5
  Git commit:       74b1e89
  Built:            Thu Jul 25 21:17:52 2019
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Kubernetes

Note

Kubernetes 选项卡在 Windows 容器模式下不可用.

Docker Desktop 包含一个在您的 Windows 机器上运行的独立 Kubernetes 服务器,因此您可以测试在 Kubernetes 上部署您的 Docker 工作负载. 要启用 Kubernetes 支持并安装作为 Docker 容器运行的独立 Kubernetes 实例,请选择启用 Kubernetes .

有关使用 Kubernetes 与 Docker Desktop 集成的更多信息,请参阅在 Kubernetes 上部署.

Software Updates

软件更新部分会通知您 Docker Desktop 可用的任何更新. 当有新更新时,您可以选择立即下载更新,或单击"发行说明"选项以了解更新版本中包含的内容.

禁用自动检查更新

从 Docker Desktop 4.2.0 开始,所有 Docker 订阅(包括 Docker Personal 和 Docker Pro)的用户都可以使用关闭自动检查更新的选项. 更新到Docker Desktop 4.2.0以开始使用此功能.

通过清除自动检查更新复选框来关闭检查更新. 这会禁用 Docker 菜单中的通知以及 Docker Dashboard 上显示的通知标志. 要手动检查更新,请在 Docker 菜单中选择检查更新选项.

要允许 Docker Desktop 在后台自动下载新更新,请选择始终下载更新. 当更新可用时,这会下载更新版本的 Docker Desktop. 下载更新后,单击应用并重新启动以安装更新. 您可以通过 Docker 菜单或 Docker Dashboard 的"更新"部分执行此操作.

Dashboard

Docker 仪表板使您能够与容器和应用程序进行交互,并直接从您的机器管理应用程序的生命周期. 仪表板 UI 显示所有正在运行、已停止和已启动的容器及其状态. 它提供了一个直观的界面来执行常见的操作来检查和管理容器和现有的 Docker Compose 应用程序. 有关更多信息,请参阅Docker 仪表板.

Add TLS certificates

您可以将受信任的证书颁发机构 (CA)(用于验证注册表服务器证书)和客户端证书(用于向注册表进行身份验证)添加到 Docker 守护程序.

Reset

故障排除菜单上现在提供了重新启动 Docker 桌面重置为出厂默认值选项. 有关信息,请参阅日志和故障排除.

Troubleshoot

访问我们的日志和故障排除指南了解更多详细信息.

登录我们的Docker Desktop for Windows 论坛以从社区获得帮助、查看当前用户主题或加入讨论.

在 GitHub 上登录 Docker Desktop for Windows 问题以报告错误或问题并查看社区报告的问题.

有关提供对文档的反馈或自行更新的信息,请参阅贡献文档.

Switch between Windows and Linux containers

从 Docker 桌面菜单中,您可以切换 Docker CLI 与哪个守护进程(Linux 或 Windows)对话. 选择切换到 Windows 容器以使用 Windows 容器,或选择切换到 Linux 容器以使用 Linux 容器(默认).

有关 Windows 容器的更多信息,请参阅以下文档:

Windows 容器的设置对话框更改

当您切换到 Windows 容器时,"设置"对话框仅显示那些处于活动状态并应用于您的 Windows 容器的选项卡:

如果您在 Windows 容器模式下设置代理或守护程序配置,则这些仅适用于 Windows 容器. 如果您切换回 Linux 容器,代理和守护程序配置将恢复为您为 Linux 容器设置的内容. 当您切换回来时,您的 Windows 容器设置将被保留并再次可用.

Dashboard

Docker 仪表板使您能够与容器和应用程序进行交互,并直接从您的机器管理应用程序的生命周期. 仪表板 UI 显示所有正在运行、已停止和已启动的容器及其状态. 它提供了一个直观的界面来执行常见的操作来检查和管理容器和 Docker Compose 应用程序. 有关更多信息,请参阅Docker 桌面仪表板.

Docker Hub

从 Docker 桌面菜单中选择登录/创建 Docker ID以访问您的Docker Hub帐户. 登录后,您可以直接从 Docker 桌面菜单访问您的 Docker Hub 存储库.

有关更多信息,请参阅以下Docker Hub 主题

Two-factor authentication

Docker Desktop 使您能够使用双重身份验证登录 Docker Hub. 双重身份验证在访问 Docker Hub 帐户时提供了额外的安全层.

在通过 Docker Desktop 登录 Docker Hub 帐户之前,您必须在 Docker Hub 中启用双重身份验证. 有关说明,请参阅为 Docker Hub 启用双重身份验证.

启用两因素身份验证后:

  1. 转到 Docker 桌面菜单,然后选择登录/创建 Docker ID .

  2. 输入您的 Docker ID 和密码,然后单击登录.

  3. 成功登录后,Docker Desktop 会提示您输入验证码. 输入手机中的六位数代码,然后单击验证.

Docker Desktop 2FA

成功通过身份验证后,您可以直接从 Docker 桌面菜单访问您的组织和存储库.

Pause/Resume

从 Docker Desktop 4.2 版本开始,您可以在不主动使用 Docker Desktop 会话时暂停它并节省计算机上的 CPU 资源. 当你暂停 Docker Desktop 时,运行 Docker Engine 的 Linux VM 将暂停,所有容器的当前状态都保存在内存中,所有进程都被冻结. 这可以减少 CPU 使用率并帮助您延长笔记本电脑的电池寿命. 您可以通过单击"恢复"选项在需要时恢复 Docker Desktop.

Note

暂停/恢复功能目前在 Windows 容器模式下不可用.

要暂停 Docker Desktop,请右键单击通知区域(或系统托盘)中的 Docker 图标,然后单击暂停.

Docker Desktop popup menu

Docker Desktop 现在在 Docker 菜单和 Docker Dashboard 的所有屏幕上显示暂停状态. 暂停 Docker Desktop 后,您仍然可以从仪表板访问首选项疑难解答菜单.

选择鲸鱼菜单 > Resume以恢复 Docker 桌面.

Note

当 Docker Desktop 暂停时,在 Docker CLI 中运行任何命令都会自动恢复 Docker Desktop.

Adding TLS certificates

您可以将受信任的证书颁发机构 (CA)添加到 Docker 守护程序以验证注册表服务器证书和客户端证书,以向注册表进行身份验证.

How do I add custom CA certificates?

Docker Desktop 支持所有受信任的证书颁发机构 (CA)(根或中间). Docker 识别存储在信任根证书颁发机构或中间证书颁发机构下的证书.

Docker Desktop 基于 Windows 证书存储创建所有用户信任的 CA 的证书包,并将其附加到 Moby 信任的证书. 因此,如果企业 SSL 证书被主机上的用户信任,那么它就会被 Docker Desktop 信任.

要了解有关如何为注册表安装 CA 根证书的更多信息,请参阅 Docker 引擎主题中的使用证书验证存储库客户端.

How do I add client certificates?

您可以在~/.docker/certs.d/<MyRegistry><Port>/client.cert~/.docker/certs.d/<MyRegistry><Port>/client.key中添加客户端证书. 您不需要使用git命令推送您的证书.

当 Docker Desktop 应用程序启动时,它会将 Windows 系统上的~/.docker/certs.d文件夹复制到 Moby(在 Hyper-V 上运行的 Docker Desktop 虚拟机)上的/etc/docker/certs.d目录.

在对钥匙串或~/.docker/certs.d目录进行任何更改后,您需要重新启动 Docker Desktop 才能使更改生效.

该注册表不能被列为不安全的注册表(请参阅Docker 守护程序). Docker Desktop 会忽略不安全注册表中列出的证书,并且不发送客户端证书. 像docker run这样尝试从注册表中提取的命令会在命令行和注册表上产生错误消息.

要了解有关如何设置客户端 TLS 证书以进行验证的更多信息,请参阅 Docker 引擎主题中的使用证书验证存储库客户端.

Where to go next

windows, edge, tutorial, run, docker, local, machine

by  icopy.site