docker desktop使用入門

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-world
    
    docker : 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:latest
    
    Hello 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 bash
    
    docker : 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 nginx
    
    Unable to find image <span style="color:#cd5555">'nginx:latest'</span> locally
    latest: Pulling from library/nginx
    
    fdd5d7827f33: 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端口。)

    運行nginx邊緣

  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 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在提取容器時會使用此代理。

代理

啓動容器時,代理設置會傳播到容器中。例如:

> docker run 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
http_proxy=http://proxy.example.com:3128
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正在以實驗模式運行,如下所示:

<span style="color:#33444c"><span style="color:#333333"><code>> docker version

Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:06:28 2018
 OS/Arch:       windows/amd64
 Experimental:  <span style="color:#658b00">true
 </span>Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce
  API version:  1.37 (minimum version 1.24)
  Go version:   go1.9.4
  Git commit:   0520e24
  Built:        Wed Mar 21 23:21:06 2018
  OS/Arch:      windows/amd64
  Experimental: <span style="color:#658b00">true</span>
</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

<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菜單更改它:

改變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存儲庫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章