大家好,今天我們來了解一下 Windows 操作系統中的 Docker 以及在其中安裝 Docker Windows 客戶端的知識。Docker 引擎使用 Linux 特有的內核特性,因此不能通過 Windows 內核運行,所以,(在 Windows 上)Docker 引擎創建了一個小的虛擬系統運行 Linux 並利用它的資源和內核。這樣,Windows Docker 客戶端就可以用這個虛擬的 Docker 引擎來構建、運行以及管理 Docker 容器。有個叫 Boot2Docker 的團隊開發了一個同名的應用程序,它創建了一個虛擬機來運行基於Tiny Core Linux特制的小型 Linux,來在 Windows 上運行 Docker 容器。它完全運行在內存中,需要大約 27M 內存並能在 5秒 (因人而異) 內啟動。因此,在用於 Windows 的 Docker 引擎被開發出來之前,我們在 Windows 機器裡只能運行 Linux 容器。
下面是安裝 Docker 客戶端並在上面運行容器的簡單步驟。
1. 下載 Boot2Docker
在我們開始安裝之前,我們需要 Boot2Docker 的可執行文件。可以從 它的 Github 下載最新版本的 Boot2Docker。在這篇指南中,我們從網站中下載版本 v1.6.1。我們從那網頁中用我們喜歡的浏覽器或者下載管理器下載了名為 docker-install.exe 的文件。
2. 安裝 Boot2Docker
現在我們運行安裝文件,它會安裝 Window Docker 客戶端、用於 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,這些對於開箱即用地運行全功能的 Docker 引擎都至關重要。
3. 運行 Boot2Docker
安裝完成必要的組件之後,我們從桌面上的“Boot2Docker Start”快捷方式啟動 Boot2Docker。它會要求你輸入以後用於驗證的 SSH 密鑰。然後會啟動一個配置好的用於管理在虛擬機中運行的 Docker 的 unix shell。
為了檢查是否正確配置,運行下面的 docker version 命令。
代碼如下:
docker version
4. 運行 Docker
由於 Boot2Docker Start 自動啟動了一個已經正確設置好環境變量的 shell,我們可以馬上開始使用 Docker。請注意,如果我們要將 Boot2Docker 作為一個遠程 Docker 守護進程,那麼不要在 docker 命令之前加 sudo。
現在,讓我們來試試 hello-world 例子鏡像,它會下載 hello-world 鏡像,運行並輸出 "Hello from Docker" 信息。
代碼如下:
$ docker run hello-world
5. 使用命令提示符(CMD) 運行 Docker
現在,如果你想開始用命令提示符使用 Docker,你可以打開命令提示符(CMD.exe)。由於 Boot2Docker 要求 ssh.exe 在 PATH 中,我們需要在命令提示符中輸入以下命令使得 %PATH% 環境變量中包括 Git 安裝目錄下的 bin 文件夾。
代碼如下:
set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"
運行上面的命令之後,我們可以在命令提示符中運行 boot2docker start 啟動 Boot2Docker 虛擬機。
代碼如下:
boot2docker start
注意: 如果你看到 machine does no exist 的錯誤信息,就運行 boot2docker init 命令。
然後復制上圖中控制台標出命令到 cmd.exe 中為控制台窗口設置環境變量,然後我們就可以像平常一樣運行 docker 容器了。
6. 使用 PowerShell 運行 Docker
為了能在 PowerShell 中運行 Docker,我們需要啟動一個 PowerShell 窗口並添加 ssh.exe 到 PATH 變量。
代碼如下:
$Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"
運行完上面的命令,我們還需要運行
代碼如下:
boot2docker start
這會打印用於設置環境變量連接到虛擬機內部運行的 Docker 的 PowerShell 命令。我們只需要在 PowerShell 中運行這些命令就可以和平常一樣運行 docker 容器。
7. 用 PUTTY 登錄
Boot2Docker 會在%USERPROFILE%.ssh 目錄生成和使用用於登錄的公共和私有密鑰,我們也需要使用這個文件夾中的私有密鑰。私有密鑰需要轉換為 PuTTY 的格式。我們可以通過 puttygen.exe 實現。
我們需要打開 puttygen.exe 並從 %USERPROFILE%.ssh\id_boot2docker 中導入("File"->"Load" 菜單)私鑰,然後點擊 "Save Private Key"。然後用保存的文件通過 PuTTY 用 [email protected]:2022 登錄。
8. Boot2Docker 選項
Boot2Docker 管理工具提供了一些命令,如下所示。
代碼如下:
$ boot2docker
Usage: boot2docker.exe [
總結
通過 Docker Windows 客戶端使用 Docker 很有趣。Boot2Docker 管理工具是一個能使任何 Docker 容器能像在 Linux 主機上平滑運行的很棒的應用程序。如果你更仔細的話,你會發現 boot2docker 默認用戶的用戶名是 docker,密碼是 tcuser。最新版本的 boot2docker 設置了一個 host-only 的網絡適配器提供訪問容器的端口。一般來說是 192.168.59.103,但可以通過 VirtualBox 的 DHCP 實現改變。
如果你有任何問題、建議、反饋,請在下面的評論框中寫下來然後我們可以改進或者更新我們的內容。非常感謝!Enjoy:-)