Docker是一个用于创建容器化应用程序的完整开发平台,而Docker Desktop for Windows是在Windows上开始使用Docker的最佳方式。

有关系统要求和稳定和边缘通道的信息,请参阅安装Docker Desktop for Windows。

测试您的安装

  1. 打开终端窗口(命令提示符或PowerShell,但不是 PowerShell ISE)。

  2. 运行docker --version以确保您拥有受支持的Docker版本:

    <span style="color:#333333"><code>> docker <span style="color:#8b008b">--version</span>Docker version 18.03.0-ce, build 0520e24
    </code></span>
  3. 从Docker Hub中拉出hello-world图像并运行一个容器:

    <span style="color:#333333"><code>> docker run hello-worlddocker : Unable to find image <span style="color:#cd5555">'hello-world:latest'</span> locally
    ...latest:
    Pulling from library/hello-world
    ca4f61b1923c:
    Pulling fs layer
    ca4f61b1923c:
    Download <span style="color:#658b00">complete
    </span>ca4f61b1923c:
    Pull <span style="color:#658b00">complete
    </span>Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
    Status: Downloaded newer image <span style="color:#8b008b">for </span>hello-world:latestHello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    </code></span>
  4. 列出从Docker Hub下载的hello-world 映像

    <span style="color:#333333"><code>> docker image <span style="color:#658b00">ls</span>
    </code></span>
  5. 列出hello-world 容器(显示“来自Docker的Hello!”后退出):

    <span style="color:#333333"><code>> docker container <span style="color:#658b00">ls</span> <span style="color:#8b008b">--all</span>
    </code></span>
  6. 通过运行一些帮助命令来探索Docker帮助页面:

    <span style="color:#333333"><code>> docker <span style="color:#8b008b">--help</span>
    > docker container <span style="color:#8b008b">--help</span>
    > docker container <span style="color:#658b00">ls</span> <span style="color:#8b008b">--help</span>
    > docker run <span style="color:#8b008b">--help</span>
    </code></span>

探索应用程序

在本节中,我们通过运行更复杂的东西(如操作系统和Web服务器)来演示Dockerized应用程序的易用性和强大功能。

  1. 拉出Ubuntu操作系统的映像并在生成的容器中运行交互式终端:

    <span style="color:#333333"><code>> docker run <span style="color:#8b008b">--interactive</span> <span style="color:#8b008b">--tty</span> ubuntu bashdocker : Unable to find image <span style="color:#cd5555">'ubuntu:latest'</span> locally
    ...latest:
    Pulling from library/ubuntu
    22dc81ace0ea:
    Pulling fs layer
    1a8b3c87dba3:
    Pulling fs layer
    91390a1c435a:
    Pulling fs layer
    ...
    Digest: sha256:e348fbbea0e0a0e73ab0370de151e7800684445c509d46195aef73e090a49bd6
    Status: Downloaded newer image <span style="color:#8b008b">for </span>ubuntu:latest
    </code></span>

    不要使用PowerShell ISE

    交互式终端在PowerShell ISE中不起作用(但它们在PowerShell中起作用)。见docker / for-win / issues / 223。

  2. 你在容器里。在根#提示符下,检查hostname容器:

    <span style="color:#333333"><code>root@8aea0acb7423:/# hostname
    8aea0acb7423
    </code></span>

    请注意,主机名被指定为容器ID(并且也在提示中使用)。

  3. 使用exit命令退出shell (这也会停止容器):

    <span style="color:#333333"><code>root@8aea0acb7423:/# <span style="color:#658b00">exit</span>
    >
    </code></span>
  4. 使用该--all选项列出容器(因为没有容器正在运行)。

    所述hello-world容器(随机命名,relaxed_sammet)显示其消息之后停止。该ubuntu容器(随机命名的,laughing_kowalevski当你退出容器)停止。

    <span style="color:#333333"><code>> docker container <span style="color:#658b00">ls</span> <span style="color:#8b008b">--all</span>CONTAINER ID    IMAGE          COMMAND     CREATED          STATUS                      PORTS    NAMES
    8aea0acb7423    ubuntu         <span style="color:#cd5555">"bash"</span>      2 minutes ago    Exited (0) 2 minutes ago             laughing_kowalevski
    45f77eb48e78    hello-world    <span style="color:#cd5555">"/hello"</span>    3 minutes ago    Exited (0) 3 minutes ago             relaxed_sammet
    </code></span>
  5. 拉动并运行我们命名的Dockerized nginx Web服务器webserver

    <span style="color:#333333"><code>> docker run <span style="color:#8b008b">--detach</span> <span style="color:#8b008b">--publish</span> 80:80 <span style="color:#8b008b">--name</span> webserver nginxUnable to find image <span style="color:#cd5555">'nginx:latest'</span> locally
    latest: Pulling from library/nginxfdd5d7827f33: Pull <span style="color:#658b00">complete
    </span>a3ed95caeb02: Pull <span style="color:#658b00">complete
    </span>716f7a5f3082: Pull <span style="color:#658b00">complete
    </span>7b10f03a0309: Pull <span style="color:#658b00">complete
    </span>Digest: sha256:f6a001272d5d324c4c9f3f183e1b69e9e0ff12debeb7a092730d638c33e0de3e
    Status: Downloaded newer image <span style="color:#8b008b">for </span>nginx:latest
    dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f
    </code></span>
  6. 将Web浏览器指向http://localhost以显示nginx开始页面。(您不需要追加,:80因为您在docker命令中指定了默认HTTP端口。)

  7. 仅列出正在运行的容器:

    <span style="color:#333333"><code>> docker container <span style="color:#658b00">ls</span>CONTAINER ID    IMAGE    COMMAND                   CREATED          STATUS          PORTS                 NAMES
    0e788d8e4dfd    nginx    <span style="color:#cd5555">"nginx -g 'daemon of…"</span>    2 minutes ago    Up 2 minutes    0.0.0.0:80->80/tcp    webserver
    </code></span>
  8. 按我们分配的名称停止运行的nginx容器webserver

    <span style="color:#333333"><code>>  docker container stop webserver
    </code></span>
  9. 按名称删除所有三个容器 - 后两个名称将因您而异:

    <span style="color:#333333"><code>> docker container rm webserver laughing_kowalevski relaxed_sammet
    </code></span>

Docker设置对话框

泊坞窗Windows版桌面菜单是通过它可以配置你的码头工人设置一个弹出-安装,更新,版本渠道,多克尔中心登录等。

本节介绍可从“ 设置”对话框访问的配置选项。

  1. 通过右键单击通知区域(或系统托盘)中的Docker图标,打开Docker Desktop for Windows菜单:

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

一般

在“ 设置”对话框的“ 常规”选项卡上,您可以配置何时启动和更新Docker。

  • 登录时启动Docker - 在Windows系统登录时自动启动Docker Desktop for Windows应用程序。

  • 自动检查更新 - 默认情况下,Docker Desktop for Windows会自动检查更新并在更新可用时通知您。单击“ 确定”接受并安装更新(或取消以保留当前版本)。您可以通过从Docker主菜单中选择Check for Updates来手动更新。

  • 发送使用情况统计信息 - 默认情况下,Docker Desktop for Windows会发送诊断,崩溃报告和使用情况数据。此信息有助于Docker改进应用程序并对其进行故障排除。取消选中此选项。Docker有时也可能会提示您提供更多信息。

共享驱动器

使用适用于Windows的Docker Desktop共享本地驱动器(卷),以便它们可供Linux容器使用。

共享驱动器的权限与您在此处提供的凭据相关联。如果docker使用与此处配置的用户名不同的用户名运行命令,则容器无法访问已装入的卷。

要应用共享驱动器,系统会提示您输入Windows系统(域)用户名和密码。您可以选择一个选项让Docker存储凭据,这样您就不必每次都输入凭据。

有关共享驱动器,权限和卷装入的提示

  • 只有在Linux容器中装入卷才需要共享驱动器,而不是Windows容器。对于Linux容器,您需要共享Dockerfile和卷所在的驱动器。如果您遇到错误,file not found 或者cannot start service您可能需要启用共享驱动器。请参阅卷安装需要Linux容器的共享驱动器。)

  • 如果可能,请避免从Windows主机安装卷,而是安装在Linux VM上,或使用数据卷 (命名卷)或数据容器。使用主机安装的卷和数据库文件的网络路径存在许多问题。请参阅主机路径中的卷装入使用nobrl选项来覆盖数据库锁定。

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

  • 确保域用户可以访问共享驱动器,如验证域用户具有共享驱动器的权限中所述。

  • 您可以与容器共享本地驱动器,但不能与Docker Machine节点共享。请参阅常见问题解答,我可以与Docker Machine VM共享本地驱动器和文件系统吗?。

共享驱动器的防火墙规则

共享驱动器要求端口445在主机和运行Linux容器的虚拟机之间打开。Docker检测端口445是否已关闭,并在您尝试添加共享驱动器时显示以下消息:

要共享驱动器,请允许Windows主机与Windows防火墙中的虚拟机或第三方防火墙软件之间建立连接。您无需在任何其他网络上打开端口445。

默认情况下,允许10.0.75.110.0.75.2(虚拟机)连接到端口445(Windows主机 )。如果防火墙规则似乎正确,则可能需要在Hyper-V虚拟网卡上切换或 重新安装文件和打印共享服务

按需共享驱动器

您可以在第一次请求特定安装时“按需”共享驱动器。

如果从具有卷装入的shell运行Docker命令(如下面的示例所示)或启动包含卷装入的Compose文件,则会弹出一个询问您是否要共享指定驱动器的弹出窗口。

您可以选择共享它,在这种情况下,它会添加到Docker Desktop for Windows Shared Drives列表并可供容器使用。或者,您可以选择不通过点击取消来共享它。

高级

更改“高级”选项卡上的设置后,Linux VM将重新启动。这需要几秒钟。

  • CPU - 更改分配给Linux VM的处理器数量。

  • 内存 - 更改Docker Desktop for Windows Linux VM使用的内存量。

网络

您可以将Docker Desktop for Windows网络配置为在虚拟专用网络(v*n)上工作。

  • 内部虚拟交换机 - 您可以指定网络地址转换(NAT)前缀和子网掩码以启用Internet连接。

  • DNS服务器 - 您可以将DNS服务器配置为使用动态或静态IP寻址。

注意:某些用户报告在Docker Desktop for Windows稳定版本上连接到Docker Hub时出现问题。当尝试运行docker从Docker Hub中提取尚未下载的图像的命令(例如第一次运行)时,这将显示为错误 docker run hello-world。如果遇到此问题,请重置DNS服务器以使用Google DNS固定地址: 8.8.8.8。有关更多信息,请参阅 故障排除中的网络问题

更新这些设置需要重新配置并重新启动Linux VM。

代理

Docker Desktop for Windows允许您配置HTTP / HTTPS代理设置并自动将这些设置传播到Docker和容器。例如,如果将代理设置设置为http://proxy.example.com,则Docker在提取容器时会使用此代理。

启动容器时,代理设置会传播到容器中。例如:

> docker run alpine envPATH=/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
http_proxy=http://proxy.example.com:3128
no_proxy=*.local, 169.254/16

在输出上文中,HTTP_PROXYhttp_proxy,和no_proxy环境变量设置。当您的代理配置更改时,Docker会自动重新启动以获取新设置。如果您希望在重新启动时继续运行容器,则应考虑使用 重新启动策略。

守护进程

您可以配置Docker守护程序来磨练容器的运行方式。 高级模式允许您直接编辑JSON。基本模式允许您使用交互设置(以及JSON)配置更常见的守护程序选项。

实验模式

Docker Desktop for Windows Stable和Edge版本都启用了Docker Engine的实验版本,在GitHub上的Docker实验特性README中有所描述。

实验性功能不适用于生产环境或工作负载。它们是用于新想法的沙盒实验。一些实验性功能可能会合并到即将发布的稳定版本中,但其他版本可能会从后续Edge版本中修改或删除,并且永远不会在Stable上发布。

在Edge和Stable版本上,您可以打开和关闭实验模式。如果您将其关闭,Docker Desktop for Windows将使用当前常用的Docker Engine版本。

运行docker version以查看您是否处于实验模式。实验模式列在Server数据下。如果Experimentaltrue,那么Doc​​ker正在以实验模式运行,如下所示:

<span style="color:#33444c"><span style="color:#333333"><code>> docker versionClient:Version:       18.03.0-ceAPI version:   1.37Go version:    go1.9.4Git commit:    0520e24Built: Wed Mar 21 23:06:28 2018OS/Arch:       windows/amd64Experimental:  <span style="color:#658b00">true</span>Orchestrator:  swarmServer:Engine:Version:      18.03.0-ceAPI version:  1.37 (minimum version 1.24)Go version:   go1.9.4Git commit:   0520e24Built:        Wed Mar 21 23:21:06 2018OS/Arch:      windows/amd64Experimental: <span style="color:#658b00">true</span>
</code></span></span>

自定义注册表

您可以在基本 守护程序设置上设置自己的注册表。

通常,您将公共或私有映像存储在Docker Hub 和Docker Trusted Registry中。在这里,您可以使用Docker来设置自己的不安全注册表。只需为托管图像的不安全注册表和注册表镜像添加URL。

请参阅如何添加自定义CA证书? 以及如何添加客户端证书?在常见问题解答中。

守护进程配置文件

高级守护程序设置提供原件选项直接编辑JSON配置文件的守护进程。

更新这些设置需要重新配置并重新启动Linux VM。

有关Docker守护程序的完整选项列表,请参阅守护程序以及子主题:

  • 守护进程配置文件

  • Linux配置文件

  • Windows配置文件

Kubernetes

适用于Windows的Docker Desktop上的Kubernetes 在 18.02 Edge(win50)及更高版本以及18.06 Stable(win70)及更高版本中可用。

从Docker Desktop for Windows 18.02 CE Edge和18.06 CE Stable可以在Windows主机上运行独立的Kubernetes服务器,以便您可以测试在Kubernetes上部署Docker工作负载。

Kubernetes客户端命令kubectl包含并配置为连接到本地Kubernetes服务器。如果您kubectl已经安装并指向某些其他环境(例如minikubeGKE集群),请务必更改上下文,以便kubectl指向docker-for-desktop

<span style="color:#33444c"><span style="color:#333333"><code>> kubectl config get-contexts
> kubectl config use-context docker-for-desktop
</code></span></span>

您也可以通过Docker Desktop for Windows菜单更改它:

如果您kubectl通过其他方法安装并遇到冲突,请将其删除。

  • 要启用Kubernetes支持并安装作为Docker容器运行的独立Kubernetes实例,请选择Enable Kubernetes并单击 Apply and restart按钮。

    需要Internet连接。运行Kubernetes服务器所需的映像将被下载并实例化为容器,并且

    已安装Program Files \ Docker \ Docker \ Resources \ bin \ kubectl.exe`命令。

  • 默认情况下,Kubernetes容器对命令是隐藏的docker service ls,因为不支持手动管理它们。要使它们可见,请选择Show system containers(advanced),然后单击Apply并重新启动。大多数用户不需要此选项。

  • 要随时禁用Kubernetes支持,请取消选择“ 启用Kubernetes”。停止并删除Kubernetes容器,并删除该 /usr/local/bin/kubectl命令。

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

重启

在“重置”选项卡上,您可以重新启动Docker或重置其配置。

  • 重启Docker - 关闭并重新启动Docker应用程序。

  • 重置为出厂默认值 - 将Docker重置为出厂默认值。这在Docker停止工作或无响应的情况下非常有用。

诊断和反馈

请访问我们的日志和故障排除指南了解更多详情。

登录我们的Docker Desktop for Windows论坛,获取社区帮助,查看当前用户主题或加入讨论。

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

要提供有关文档的反馈或自行更新,请使用每个文档页面底部的反馈选项。

在Windows和Linux容器之间切换

从Docker Desktop for Windows菜单中,您可以切换Docker CLI与之对话的守护进程(Linux或Windows)。选择“ 切换到Windows容器”以使用Windows容器,或选择“ 切换到Linux容器”以使用Linux容器(默认设置)。

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

  • 有关Windows容器的 Microsoft文档。

  • 构建并运行您的第一个Windows服务器容器(博客文章) 可以快速浏览如何在Windows 10和Windows Server 2016评估版本上构建和运行本机Docker Windows容器。

  • Windows Containers入门(实验室) 向您展示了如何将MusicStore 应用程序与Windows容器一起使用。MusicStore是一个标准的.NET应用程序, 在这里分叉使用容器,是多容器应用程序的一个很好的例子。

  • 要了解如何从本地主机连接到Windows容器,请参阅: Windows容器localhost和已发布端口的限制

设置对话框随Windows容器一起更改

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

  • 一般
  • 代理
  • Docker守护进程
  • 诊断和反馈
  • 重启

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

添加TLS证书

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

请参阅如何添加自定义CA证书? 以及如何添加客户端证书? 在常见问题解答中。

Docker Hub

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

docker desktop使用入门相关推荐

  1. .Net Core in Docker极简入门(下篇)

    点击上方蓝字"小黑在哪里"关注我吧 Docker-Compose 代码修改 yml file up & down 镜像仓库 前言 上一篇[.Net Core in Dock ...

  2. Mac上使用Docker Desktop启动Kubernetes,踩坑后终于搞掂

    1 前言 Kubernetes又简称k8s,是Google开源的容器集群管理系统,最近也是火热.闲来无事(为了发文),捣鼓了一下,在Mac上搭建Kubernetes,遇到一些坑,也记录一下. 另外,D ...

  3. Docker-desktop(Docker桌面版)——入门篇

    前言 本章内容主要涉及内容: 在Windows10系统下进行安装和简单使用**Docker-desktop(Docker桌面版). 如果你是docker初学者,或者压根就不知道docker是什么,那你 ...

  4. 【效率】Docker:从入门到实战过程全记录

    和Docker相关的概念 想要真正理解Docker,就不得不从虚拟化技术的发展历程说起.普遍认为虚拟化技术经历了物理机时代.虚拟机时代,目前已经进入到了容器化时代.可以说,Docker是虚拟化技术不断 ...

  5. 数据分析及机器学习环境配置(docker极简入门指南)

    做数据科学一般需要用到类似XGBOOST.TensorFlow之类的库,这些库在win下不是那么好安装的,但是很多人又需要它们,那怎么办呢,最简单的就是用docker的方式,不仅具备一个linux虚拟 ...

  6. Docker Desktop添加对Kubernetes的支持

    Docker在其stable频道发布了Windows和Mac平台下Docker Desktop对Kubernetes的支持.Kubernetes也得到了Docker Enterprise的支持,允许我 ...

  7. 成功解决Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run.

    成功解决Docker Desktop requires Windows 10 Pro or Enterprise version 15063 to run. 目录 解决问题 解决方法 解决问题 Doc ...

  8. docker desktop 镜像_Spring Boot实战工具4 - Docker

    4. Docker Docker是微服务部署实践的核心技术,本书的数据库软件的部署都依赖于Docker. 4.1 安装Docker Desktop Docker Desktop的下载地址: Windo ...

  9. k8s之wsl2+kind+docker desktop搭建kubevela测试集群

    仅作为记录,不具备参考意义: 1.win10-1903+wsl2+ubuntu18+kind+docker desktop wsl2和unbuntu以及docker desttop不再赘述 第一步: ...

最新文章

  1. java通过代理访问网络
  2. linux chkconfig 添加服务 开机启动
  3. Linux内核里的“智能指针” (续)
  4. 201706问题记录
  5. java ajax级联_jQuery ajax级联二级菜单(转)
  6. Spark源码分析之TaskSetManager分析
  7. 扎心!8.5亿网民 超七成月收入5000元以下,网友:这数据很真实
  8. linux分布式文件存储挂载使用_Linux - tmpfs内存文件系统使用
  9. Erlang打包工具rebar安装使用
  10. 系统学习NLP(十五)--seq2seq
  11. 54.购物流程(1)---simple product
  12. 资产负债表 公式总结
  13. php元换成万元,数字单位换算(元换算成万元换算器)
  14. 计算机电子表格操作步骤,Excel电子表格操作基本步骤.doc
  15. ubuntu下安装vmware workstation
  16. 兜兜转转还是往前了一小步
  17. 哥德尔命题6、背景知识和ω一致性观念——哥德尔读后之十七021-08-09
  18. linux常用面试题
  19. DirectX12 3D游戏开发实践(龙书)第二章_矩阵代数
  20. 解决 remote: Repository not found. fatal: repository 'https://github.com/xxxx/xxxx.git/

热门文章

  1. Linux通过端口号杀死指定进程
  2. 关于python导入模块和package的一些深度思考
  3. 派生类参数初始化列表和基类构造函数顺序
  4. starrocks问题小结
  5. curl模拟post请求
  6. Maven 传递性依赖
  7. Java基本数据之间的类型转换
  8. LeetCode简单题之两栋颜色不同且距离最远的房子
  9. 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈
  10. Deep Learning部署TVM Golang运行时Runtime