1.1.0.2、在 Windows 上安裝

Windows

注意這個Docker的發行版本不建議使用Boot2Docker命令行,建議使用Docker Machine。使用Docker Toolbox安裝Docker Machine跟安裝其他Docker工具一樣。

你可以使用Docker Toolbox安裝Docker。Docker Toolbox包含如下的Docker 工具:

  • Docker Machine 爲了運行 docker-machine 可執行包
  • Docker Engine 爲了運行 docker 可執行包
  • Docker Compose 爲了運行 docker-compose 可執行包
  • Kitematic,Docker GUI
  • 一個預設的Docker命令行環境
  • Oracle VM VirtualBox

因爲Docker Daemon使用了Linux一個內核特性,原生的OS X系統不能直接運行Docker。折中的解決方案,你必須使用 docker-machine 去創建並連接到一個虛擬機上(VM)。這個VM會爲你的Mac提供Docker運行環境。

Docker 虛擬機是輕量Linux額虛擬機,專門用於在Windows上運行Docker Daemon。VM(虛擬機)完全運行在內存裏,它非常小,大約只有24MB,只需約5S就可以啓動。

要求

你的機器必須是運行了 Windows 7,8/8.1 或更新的操作系統並啓動Docker。目前,還不支持 Windows 10。查看你的Windows版本信息:

  1. 右擊Windows控制面板選項系統。

    譯者注:在微軟的查看系統有很多種方法,大家不要侷限於上面的方式,選擇你喜歡的方式就OK。

    如果你正在使用的系統不支持,爲了能正常使用Docker,你應該考慮升級你的操作系。

  2. 確保你的CPU 支持虛擬化技術並啓用BIOS的虛擬化支持。

    Windows 8 或 8.1

    選擇 Start(開始) > Task Manager(任務管理) 並切換到 Performance(性能) 選卡。在 CPU 的下方,你應該看到如下信息:

    在你的系統上,如果虛擬化沒有被開啓。以下的廠商的指令可以開啓它。

    Windows 7

    運行微軟® 硬件輔助虛擬化檢測工具和屏幕中的指令。

注意:如果你已經擁有了一個正在運行的Docker主機,且你有不希望安裝一個Docker ToolBox,你可以使用非官方的Windows包管理器(Chocolatey)安裝 docker.exe 。如何操作,請移步到Docker package on Chocolatey

在安裝前,先了解一些主要的概念

Docker 在Linux上安裝過程裏,你的物理機器既是本地主機也是Docker的宿主機。在網絡裏,本地主機的意思是你的計算機。Docker的宿主機是託管這容器運行的計算機。

在一個標準的Linux安裝中,Docker客戶端、Docker Daemon和一些運行中的容器會直接寄託在你的本地主機上。這意味着你可以使用標準的本地地址和端口去訪問容器,例如, localhost:8000 或 0.0.0.0:8376

Linux Architecture Diagram

在一個 Windows 安裝裏,docker daemon(守護進程)會運行在一個Linux虛擬機的內部。你可以使用Windows Docker客戶端與Docker  虛擬主機進行通信。你的Docker 容器運行在這個主機內部。

Windows Architecture Diagram 

在Windows裏面,Docker 宿主機的地址跟Linux虛擬一樣。當你使用 docker-machine 啓動Linux虛擬機是,它會分配一個IP地址。當你啓動一個容器是,容器上的端口會映射到虛擬機的端口上。

安裝

如果你已經運行了 VirtualBox,在安裝前,你必須停止它。

  1. 打開 Docker Toolbox 主頁。

  2. 點擊安裝程序連接去下載。

  3. 雙擊安裝包或通過右鍵彈出的菜單選擇 "打開(Openning)" 啓動安裝。

    安裝程序啓動後,會彈出 “Install Docker Toolbox” 對話框。

  1. 按下 “Next” 安裝 toolbox。

    安裝程序會給你提供選項來定製標準的安裝。默認情況下,標準的 Docker Toolboxthe 會安裝如下工具:

    • 安裝Docker 工具的可執行到 C:\Program Files\Docker Toolbox 文件裏。
    • 安裝 VirtualBox;或更新已經存在的安裝
    • 添加一個Docker文件夾到你的快捷目錄中
    • 更新你的 PATH 環境變量
    • 爲Docker快速啓動終端和Kitematic添加桌面圖標

    以上都是默認安裝設置。

  2. 按下 “Next” 直到你到達 “Ready to Install” 頁面。

    系統提示你輸入密碼。

  3. 按下 “Install” 繼續安裝。

    當完成安裝後,安裝程序會給提供一些常用的操作任務,以便你可以快速的體驗。

  4. 點擊 “Finish” 完成安裝。

運行一個Docker容器

爲了運行一個Docker容器,你需要如下步驟:

  • 創建一個新的(或啓動一個已經存在的) Docker 虛擬機
  • 將你的環境切換到新的虛擬機
  • 使用 docker 客戶端創建、加載和管理容器

當你創建一個機器時,如果你喜歡,你可以隨時重用它。正如所有的VirtualBox虛擬機一樣。

這裏有兩種方式可以使用你已經安裝的工具,從Docker 快速終端或從你的shell

使用 Docker 快速啓動終端

  1. 在你的桌面找到Docker 快速啓動終端的圖標並雙擊啓動它。

    應用執行流程:

    • 打開一個終端窗口
    • 創建一個 default 虛擬機,如果它不存在,並啓動虛擬機
    • 將終端的環境指向這個虛擬機

    當啓動完成後,你可以執行 docker 命令。

  2. 通過運行 hello-world 容器,覈實你的配置是否成功。

    $ docker run hello-world
    Unable to find image 'hello-world:latest' locally
    511136ea3c5a: Pull complete
    31cbccb51277: Pull complete
    e45a5af57b00: Pull complete
    hello-world:latest: The image you are pulling has been verified.
    Important: image verification is a tech preview feature and should not be
    relied on to provide security.
    Status: Downloaded newer image for hello-world:latest
    Hello from Docker.
    This message shows that your installation appears to be working correctly.
    
    
    To generate this message, Docker took the following steps:
    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
       (Assuming it was not already locally available.)
    3. The Docker daemon created a new container from that image which runs the
       executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it
       to your terminal.
    
    
    To try something more ambitious, you can run an Ubuntu container with:
    $ docker run -it ubuntu bash
    
    
    For more examples and ideas, visit:
    http://docs.docker.com/userguide/
    

使用 Windows 命令提示(cmd.exe)

  1. 啓動一個Windows 命令提示終端(cmd.exe)。

    docker-machine 命令需要 ssh.exe 在你的 PATH 環境變量。這個 .exe 在 MsysGit bin 文件夾裏。

  2. 通過執行如下指令,添加它到 %PATH% 環境變量裏:

    set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"
    
  3. 創建一個新的 Docker 虛擬機。

    docker-machine create --driver virtualbox my-default
    Creating VirtualBox VM...
    Creating SSH key...
    Starting VirtualBox VM...
    Starting VM...
    To see how to connect Docker to this machine, run: docker-machine env my-default  
    

    這條命令也創建了一個機器配置文件,在 C:\USERS\USERNAME\.docker\machine\machines 目錄裏。你只需運行一次 create 命令。之後,你可以在命令行裏,使用 docker-machine 去啓動、停止、查詢和其他管理虛擬機。

  4. 列出你的可用機器

    C:\Users\mary> docker-machine ls
    NAME                ACTIVE   DRIVER       STATE     URL                         SWARM
    my-default        *        virtualbox   Running   tcp://192.168.99.101:2376
    

    如果你以前安裝了被棄用的Boot2Docker 應用或運行Docker 快速啓動終端,你可能還有一個 dev 的虛擬機。當你創建了default 虛擬機,docker-machine 命令會提供指令去學習如何連接虛擬機。

  5. 獲取你的新虛擬機的環境命令

    C:\Users\mary> docker-machine env --shell cmd my-default
    
  6. 連接你的 shell 到 my-default 機器上

    C:\Users\mary> eval "$(docker-machine env my-default)"
    
  7. 運行 hello-world 容器去核實你的配置

    C:\Users\mary> docker run hello-world
    

使用 PowerShell

  1. 啓動一個Windows PowerShell窗口。

  2. 添加 ssh.exe 到你的PATH上:

    PS C:\Users\mary> $Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"
    
  3. 創建一個新的Docker虛擬機。

    PS C:\Users\mary> docker-machine create --driver virtualbox my-default
    
  4. 列出你可用的機器。

    C:\Users\mary> docker-machine ls
    NAME                ACTIVE   DRIVER       STATE     URL                         SWARM
    my-default        *        virtualbox   Running   tcp://192.168.99.101:2376
    
  5. 獲取你的新虛擬機的環境命令。

    C:\Users\mary> docker-machine env --shell powershell my-default  
    
  6. 連接你的shell到 my-default 機器。

    C:\Users\mary> eval "$(docker-machine env my-default)"
    
  7. 運行 hello-world 容器去核實你的配置。

    C:\Users\mary> docker run hello-world
    

瞭解你的 Toolbox 安裝

Toolbox 安裝了Docker 引擎二進制包,它會被存放 C:\Program Files\Docker Toolbox 目錄裏。當你使用Docker 快速啓動終端或手動創建一個 default 虛擬機時,Docker Machine 會更新 C:\USERS\USERNAME\.docker\machine\machines\default 文件夾到你的系統。這個文件夾包含虛擬機的配置文件。

你可以創建多個虛擬機,使用Docker Machine 在你的系統上。因此,你可能得到多個虛擬機文件夾,如果你擁有多個虛擬機。移除一個虛擬機,可以使用 docker-machine rm <machine-name> 命令。

從Boot2Docker遷移

如果你之前使用 Boot2Docker,你擁有一個Docker boot2docker-vm 虛擬機,在你的本地系統上。如果你想讓Docker Machine 去管理舊的虛擬機,你可以遷移它。

  1. 打開一個終端或Docker CLI(命令行接口),在你的系統上。

  2. 輸入如下命令:

    $ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm docker-vm
    
  3. 使用 docker-machine 命令發起虛擬的遷移通信。

docker-machine 子命令與 boot2docker 有稍許的差異。如下列表中列出了 docker-machine 等同的子命令:

boot2docker docker-machine docker-machine描述
init create 創建一個新的docker主機
up start 啓動一個停止的機器
ssh ssh 運行一個命令或互動ssh回話,在機器上。
save - 沒有對等指令
down stop 停止一個運行中的機器
poweroff stop 停止一個運行中的機器
reset restart 重啓一個運行中的機器
config inspect 打印機器的配置詳情
status ls 列出所有機器和他們的狀態
info inspect 顯示一個機器的詳情
ip ip 顯示機器的 ip 地址
shellinit env 顯示你跟機器交互配置的shell指令
delete rm 刪除一個機器
download - 沒有對等指令
upgrade upgrade 更新一個機器的Docker客戶端到一個最新穩定版本

升級 Docker Toolbox

Docker Toolbox安裝包下載,並重新安裝即可。具體可以參考上述的諸多步驟。

容器端口的重定向

如果你對虛擬機給Docker分配的默認 docker  用戶名和 tcuser 密碼感到“不爽”。docker-machine 最新版只是給Docker 設置一個主機網絡適配器,它提供訪問容器的端口服務。

如果運行想運行一個帶發佈端口的容器,可以這樣做:

$ docker run --rm -i -t -p 80:80 nginx

之後,使用IP地址你應該可以訪問到這個nginx服務,使用如下命令查看IP:

$ docker-machine ip

通常,IP 是192.168.59.103,但是,你可以修改Virtualbox的DHCP實現來修改它。

登錄 PUTTY 替代使用CMD

Docker Machine 生成並使用公匙/密匙對,在你的 %USERPROFILE%\.ssh 目錄裏。所以,要成功登錄,你必須從相同的目錄獲得有效的密匙。這個密匙必須轉換成PuTTY的格式。你可以使用puttygen做到:

  1. 啓動 puttygen.exe 並加載(“File”->“Load” menu) 密匙

    %USERPROFILE%\.docker\machine\machines\<name_of_your_machine>
    
  2. 點擊 “Save Private Key”(保存密匙)。

  3. PuTTY 執行 [email protected]:2022 並使用上面保存的問價完成登錄。

卸載

你可以使用Windows的標準刪除進程卸載Docker Toolbox。這個進程不會自動移除 docker-install.exe 問價。你必須自己去刪除這個文件。

知識拓展

你可以通過 Docker用戶指南繼續學習。如果你Kitematic GUI的使用感興趣,請移步到Kitematic用戶指南


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