如何在 Windows 作業系統中執行 Docker 客戶端

Arun Pyasi發表於2015-06-08

大家好,今天我們來了解一下 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 用 docker@127.0.0.1:2022 登入。

8. Boot2Docker 選項

Boot2Docker 管理工具提供了一些命令,如下所示。

$ boot2docker

Usage: boot2docker.exe [<options>] {help|init|up|ssh|save|down|poweroff|reset|restart|config|status|info|ip|shellinit|delete|download|upgrade|version} [<args>]

總結

透過 Docker Windows 客戶端使用 Docker 很有趣。Boot2Docker 管理工具是一個能使任何 Docker 容器能像在 Linux 主機上平滑執行的很棒的應用程式。如果你更仔細的話,你會發現 boot2docker 預設使用者的使用者名稱是 docker,密碼是 tcuser。最新版本的 boot2docker 設定了一個 host-only 的網路介面卡提供訪問容器的埠。一般來說是 192.168.59.103,但可以透過 VirtualBox 的 DHCP 實現改變。

如果你有任何問題、建議、反饋,請在下面的評論框中寫下來然後我們可以改進或者更新我們的內容。非常感謝!Enjoy:-)


via: http://linoxide.com/linux-how-to/run-docker-client-inside-windows-os/

作者:Arun Pyasi 譯者:ictlyh 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

相關文章