docker desktop使用入門
Docker是一個用于創建容器化應用程序的完整開發平臺,而Docker Desktop for Windows是在Windows上開始使用Docker的最佳方式。
有關系統要求和穩定和邊緣通道的信息,請參閱安裝Docker Desktop for Windows。
測試您的安裝
打開終端窗口(命令提示符或PowerShell,但不是?PowerShell ISE)。
運行docker --version以確保您擁有受支持的Docker版本:
> docker --version
Docker version 18.03.0-ce, build 0520e24
從Docker Hub中拉出hello-world圖像并運行一個容器:
> docker run hello-world
docker : Unable to find image 'hello-world:latest' locally
...
latest:
Pulling from library/hello-world
ca4f61b1923c:
Pulling fs layer
ca4f61b1923c:
Download complete
ca4f61b1923c:
Pull complete
Digest: sha256:97ce6fa4b6cdc0790cda65fe7290b74cfebd9fa0c9b8c38e979330d547d22ce1
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
列出從Docker Hub下載的hello-world?映像:
> docker image ls
列出hello-world?容器(顯示“來自Docker的Hello!”后退出):
> docker container ls --all
通過運行一些幫助命令來探索Docker幫助頁面:
> docker --help
> docker container --help
> docker container ls --help
> docker run --help
探索應用程序
在本節中,我們通過運行更復雜的東西(如操作系統和Web服務器)來演示Dockerized應用程序的易用性和強大功能。
拉出Ubuntu操作系統的映像并在生成的容器中運行交互式終端:
> docker run --interactive --tty ubuntu bash
docker : Unable to find image 'ubuntu:latest' 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 for ubuntu:latest
不要使用PowerShell ISE
交互式終端在PowerShell ISE中不起作用(但它們在PowerShell中起作用)。見docker / for-win / issues / 223。
你在容器里。在根#提示符下,檢查hostname容器:
root@8aea0acb7423:/# hostname
8aea0acb7423
請注意,主機名被指定為容器ID(并且也在提示中使用)。
使用exit命令退出shell?(這也會停止容器):
root@8aea0acb7423:/# exit
>
使用該--all選項列出容器(因為沒有容器正在運行)。
所述hello-world容器(隨機命名,relaxed_sammet)顯示其消息之后停止。該ubuntu容器(隨機命名的,laughing_kowalevski當你退出容器)停止。
> docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8aea0acb7423 ubuntu "bash" 2 minutes ago Exited (0) 2 minutes ago laughing_kowalevski
45f77eb48e78 hello-world "/hello" 3 minutes ago Exited (0) 3 minutes ago relaxed_sammet
拉動并運行我們命名的Dockerized?nginx?Web服務器webserver:
> docker run --detach --publish 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
fdd5d7827f33: Pull complete
a3ed95caeb02: Pull complete
716f7a5f3082: Pull complete
7b10f03a0309: Pull complete
Digest: sha256:f6a001272d5d324c4c9f3f183e1b69e9e0ff12debeb7a092730d638c33e0de3e
Status: Downloaded newer image for nginx:latest
dfe13c68b3b86f01951af617df02be4897184cbf7a8b4d5caf1c3c5bd3fc267f
將Web瀏覽器指向http://localhost以顯示nginx開始頁面。(您不需要追加,:80因為您在docker命令中指定了默認HTTP端口。)
僅列出正在運行的容器:
> docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0e788d8e4dfd nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp webserver
按我們分配的名稱停止運行的nginx容器webserver:
> docker container stop webserver
按名稱刪除所有三個容器 - 后兩個名稱將因您而異:
> docker container rm webserver laughing_kowalevski relaxed_sammet
Docker設置對話框
該泊塢窗Windows版桌面菜單是通過它可以配置你的碼頭工人設置一個彈出-安裝,更新,版本渠道,多克爾中心登錄等。
本節介紹可從“?設置”對話框訪問的配置選項。
通過右鍵單擊通知區域(或系統托盤)中的Docker圖標,打開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存儲憑據,這樣您就不必每次都輸入憑據。
有關共享驅動器,權限和卷裝入的提示
只有在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.1從10.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 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_PROXY,http_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數據下。如果Experimental是true,那么Doc ker正在以實驗模式運行,如下所示:
> 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: true
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: true
自定義注冊表
您可以在基本?守護程序設置上設置自己的注冊表。
通常,您將公共或私有映像存儲在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:
> kubectl config get-contexts
> kubectl config use-context docker-for-desktop
您也可以通過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 Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。