1. 程式人生 > >Docker在 Windows 上安裝

Docker在 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. 點選安裝程式連線去下載。

  2. 雙擊安裝包或通過右鍵彈出的選單選擇 "開啟(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使用者指南

相關推薦

DockerWindows 安裝

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

Oracle數據庫12cR2(項目實戰之一):在Windows安裝Oracle12.2

oracle12c安裝 oracle12cr2安裝 oracle培訓教程 oracle視頻教程 oracle12cr2 oracle數據庫12cR2(項目實戰之二):linux系統安裝Oracle12.2一、課程主題:風哥Oracle數據庫教程12cR2(項目實戰之二):在linux操作系

windows安裝VTK

src details 編譯 一個 -s 最終 p s gen 變量 看了很多教程,花了1天半的時間裝上了,記錄下。 前置條件:我安裝了VS2015,用來編譯工程。 參考資料 官方:http://www.vtk.org/Wiki/VTK/Building 安裝:ht

Windows 安裝 Jekyll

-h 輸出 creat 簡化 .so native 執行 html xxx 目錄(?)[+] 安裝 Ruby 安裝 DevKit 安裝 Jekyll 安裝 Pygments 安裝 Python 安裝 Easy Install 安裝 Pygment

Docker windows安裝,Build和Run的步驟及註意事項

命令 開始 內核 pro contain 不能 bsp 但是 安裝docker 一、關於Docker 什麽是Docker?Docker 采用go語言編寫,是一個開源的應用容器引擎。讓開發者可以快速打包他們的應用以及依賴包到一個封裝的可移植的容器Image中,

【ProtoBuffer】windows安裝ProtoBuffer3.x (附已編譯資源)

文章 sta baidu linux平臺 hub 結構 mage 關心 平臺   百度了很久,所介紹的方法很多都不適用,搜出來的文章都是找到vs的工程文件然後balabala...,但因為gihub上的最新版本protobuf3.3.0,是不帶vs的工程文件了,官方的rea

windows安裝mysql5.7

zip packet 密碼 bst blog date _id -m basedir 安裝前準備: 系統:windows7-x64 MySql:mysql5.7.19-X64-windows壓縮包 安裝步驟: 在windows上安裝mysql有兩種方式,一種是安裝mysql

0 Windows安裝Anaconda和python的教程詳解

檢測 imread www 後綴 更多 直方圖均衡 並且 for 圖形 一、需要的安裝包 因為scikit-image是基於scipy進行運算的,因此安裝numpy和scipy是肯定的。要進行圖片的顯示,還需要安裝matplotlib包,綜合起來,需要的包有: 1 Pyt

Windows安裝多個MySQL實例(轉)

windows 小寫 install current -o iter 不同的 包安裝 class 在學習和開發過程中有時候會用到多個MySQL數據庫,比如Master-S

windows安裝和啟動Elasticseach、Kibana

font 解壓縮 each window ast 下載 img eas bsp 寫在前面的話:讀書破萬卷,編碼如有神-------------------------------------------------------------------- 參考內容:   《E

Windows安裝 TensorFlow

you html pat 網址 body imp 查看 遇到 可能 1、官網及幫助文檔 官網: https://www.tensorflow.org/install/install_windows 中文幫助文檔:https://efeiefei.gitbooks.io/

windows安裝Anaconda和python的教程詳解

現在 ron import ads img 還需要 試圖 ray 開源 一提到數字圖像處理編程,可能大多數人就會想到matlab,但matlab也有自身的缺點:1、不開源,價格貴2、軟件容量大。一般3G以上,高版本甚至達5G以上。3、只能做研究,不

Windows安裝Mac OS

mark ng-click version art 點擊 就是 tool 說明 sta 在windows上開發ios程序,是一件比較痛苦的事情。由於: 開發andr

Windows安裝配置SSH教程(7)——幾種方式對比

由於 客戶端 方案 body open ins 下使用 上傳下載 直接 服務端:Windows XP 客戶端:Windows 10 由於Cygwin也可以安裝OpenSSH,所以客戶端其實可以直接使用Cygwin安裝OpenSSH,那麽在Windows下使用SCP(安全拷貝

Windows安裝Zabbix agent客戶端

zabbix windows下載下載地址:https://www.zabbix.com/downloads/3.4.0/zabbix_agents_3.4.0.win.zip在Windows系統C盤新建zabbix目錄 將下載好的安裝包(zabbix_agents_3.4.0.win.zip)解壓縮到c:/z

Nginx在windows安裝 及 Nginx的配置及優化

打開 兩種方法 agen OS 關閉 檢查 14. win 快速 1.下載nginxhttp://nginx.org/en/download.html 下載穩定版本,以nginx/Windows-1.12.2為例,直接下載 nginx-1.12.2.zip下

Windows安裝pytorch

clas dll color rar 命令 tar license uda 文件夾 電腦環境為 :windows10 python3.5 cuda8.0 可以在官網查詢各個版本的安裝方式 這裏使用pip的安裝方式,通過以下命令: 1 pip3 install htt

Windows 安裝 Azure PowerShell及Azure PowerShell部署虛擬機

net doc ORC fec end 密碼 har 公網 mst 一、Azure PowerShell部署 1、使用 PowerShellGet 在 Windows 上安裝 Azure PowerShell 從 Azure PowerShell 版本 6.0 開始,A

Windows安裝Maven

nload download 右擊 環境變量 nbsp http 命令 jdk bin 一、檢查JDK 安裝 在安裝Maven之前首先要確認JDK是否安裝。Maven可以運行在JDK1.4及以上的版本。檢查JDK版本的方式: 打開cmd窗口,運行以下命令可以查看

【python安裝Windows安裝和創建python開發環境

path環境變量 -s cme iat img mba 增加 應用 jni 1. 在 windows10 上安裝python開發環境 Linux和Mac OS都自帶python環境,但是Windows沒有,需要自行安裝。 第1步:訪問 python官網,下載Windows