docker desktop使用入门

举报
Lansonli 发表于 2021/09/29 01:20:09 2021/09/29
【摘要】 Docker是一个用于创建容器化应用程序的完整开发平台,而Docker Desktop for Windows是在Windows上开始使用Docker的最佳方式。 有关系统要求和稳定和边缘通道的信息,请参阅安装Docker Desktop for Windows。 测试您的安装 打开终端窗口(命令提示符或PowerSh...

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

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

测试您的安装

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

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

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

    
        
    1. <span style="color:#333333"><code>> docker run hello-world
    2. docker : Unable to find image <span style="color:#cd5555">'hello-world:latest'</span> locally
    3. ...
    4. latest:
    5. Pulling from library/hello-world
    6. ca4f61b1923c:
    7. Pulling fs layer
    8. ca4f61b1923c:
    9. Download <span style="color:#658b00">complete
    10. </span>ca4f61b1923c:
    11. Pull <span style="color:#658b00">complete
    12. </span>Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
    13. Status: Downloaded newer image <span style="color:#8b008b">for </span>hello-world:latest
    14. Hello from Docker!
    15. This message shows that your installation appears to be working correctly.
    16. ...
    17. </code></span>
  4. 列出从Docker Hub下载的hello-world 映像

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

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

    
        
    1. <span style="color:#333333"><code>> docker <span style="color:#8b008b">--help</span>
    2. > docker container <span style="color:#8b008b">--help</span>
    3. > docker container <span style="color:#658b00">ls</span> <span style="color:#8b008b">--help</span>
    4. > docker run <span style="color:#8b008b">--help</span>
    5. </code></span>

探索应用程序

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

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

    
        
    1. <span style="color:#333333"><code>> docker run <span style="color:#8b008b">--interactive</span> <span style="color:#8b008b">--tty</span> ubuntu bash
    2. docker : Unable to find image <span style="color:#cd5555">'ubuntu:latest'</span> locally
    3. ...
    4. latest:
    5. Pulling from library/ubuntu
    6. 22dc81ace0ea:
    7. Pulling fs layer
    8. 1a8b3c87dba3:
    9. Pulling fs layer
    10. 91390a1c435a:
    11. Pulling fs layer
    12. ...
    13. Digest: sha256:e348fbbea0e0a0e73ab0370de151e7800684445c509d46195aef73e090a49bd6
    14. Status: Downloaded newer image <span style="color:#8b008b">for </span>ubuntu:latest
    15. </code></span>

    不要使用PowerShell ISE

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

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

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

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

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

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

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

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

    
        
    1. <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 nginx
    2. Unable to find image <span style="color:#cd5555">'nginx:latest'</span> locally
    3. latest: Pulling from library/nginx
    4. fdd5d7827f33: Pull <span style="color:#658b00">complete
    5. </span>a3ed95caeb02: Pull <span style="color:#658b00">complete
    6. </span>716f7a5f3082: Pull <span style="color:#658b00">complete
    7. </span>7b10f03a0309: Pull <span style="color:#658b00">complete
    8. </span>Digest: sha256:f6a001272d5d324c4c9f3f183e1b69e9e0ff12debeb7a092730d638c33e0de3e
    9. Status: Downloaded newer image <span style="color:#8b008b">for </span>nginx:latest
    10. dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f
    11. </code></span>
  6. 将Web浏览器指向http://localhost以显示nginx开始页面。(您不需要追加,:80因为您在docker命令中指定了默认HTTP端口。)

    运行nginx边缘

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

    
        
    1. <span style="color:#333333"><code>> docker container <span style="color:#658b00">ls
    2. </span>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    3. 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
    4. </code></span>
  8. 按我们分配的名称停止运行的nginx容器webserver

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

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

Docker设置对话框

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

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

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

    在任务栏中显示隐藏的应用程序

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

    Docker Desktop for Windows弹出菜单

一般

在“ 设置”对话框的“ 常规”选项卡上,您可以配置何时启动和更新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存储凭据,这样您就不必每次都输入凭据。

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

共享驱动器的防火墙规则

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

港口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和内存设置

  • 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在提取容器时会使用此代理。

代理

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


  
  1. > docker run alpine env
  2. PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
  3. HOSTNAME=b7edf988b2b5
  4. TERM=xterm
  5. HOME=/root
  6. HTTP_PROXY=http://proxy.example.com:3128
  7. http_proxy=http://proxy.example.com:3128
  8. no_proxy=*.local, 169.254/16

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

 

守护进程

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

Docker守护进程

实验模式

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正在以实验模式运行,如下所示:


  
  1. <span style="color:#33444c"><span style="color:#333333"><code>> docker version
  2. Client:
  3. Version: 18.03.0-ce
  4. API version: 1.37
  5. Go version: go1.9.4
  6. Git commit: 0520e24
  7. Built: Wed Mar 21 23:06:28 2018
  8. OS/Arch: windows/amd64
  9. Experimental: <span style="color:#658b00">true
  10. </span>Orchestrator: swarm
  11. Server:
  12. Engine:
  13. Version: 18.03.0-ce
  14. API version: 1.37 (minimum version 1.24)
  15. Go version: go1.9.4
  16. Git commit: 0520e24
  17. Built: Wed Mar 21 23:21:06 2018
  18. OS/Arch: windows/amd64
  19. Experimental: <span style="color:#658b00">true</span>
  20. </code></span></span>

自定义注册表

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

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

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

守护进程配置文件

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

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

Docker守护进程

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

Kubernetes

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

启用Kubernetes

从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


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

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

改变Kubernetes背景

如果您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-Linux容器类型切换

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

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

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

如果在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存储库。

文章来源: lansonli.blog.csdn.net,作者:Lansonli,版权归原作者所有,如需转载,请联系作者。

原文链接:lansonli.blog.csdn.net/article/details/89390772

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。