1. 程式人生 > >Docker在Windows系統下的安裝及簡單使用介紹

Docker在Windows系統下的安裝及簡單使用介紹

本文主要介紹Docker在Windows下的安裝。關於Docker的介紹和文件在其官網中可以找到:http://www.docker.com 。安裝環境:Windows7。

  Docker引擎使用了一個定製的Linux核心,所以要在Windows下執行Docker我們需要用到一個輕量級的虛擬機器(vm),我們使用Windows Docker客戶端以控制Docker引擎,來建立,執行和管理我們的Docker容器(關於Docker引擎,容器等具體概念請參考官網)。

安裝步驟

第一步:

  首先到https://github.com/boot2docker/windows-installer/releases頁面去下載最新的Windows Docker客戶端,目前最新版本為v.1.0.0,下載過來就是一個exe檔案,直接雙擊執行。

 

圖1.Windows下的Docker安裝檔案

第二步:

  執行安裝檔案。

 

圖2.安裝檔案中的3個主要部分

  安裝過程一路點選下一步,在第3步中我們可以看到實際上安裝的內容包括了3部分,第一是Docker在Windows下的指令碼和虛擬機器,第二是Oracle的VirtualBox,第三是MSYS,是Windows下的最優秀的GNU環境之一。

  這裡我們都勾選,全部安裝。一路下一步後等待安裝結束,安裝程式提示重新啟動,為了保證安裝成功避免意外,這裡重新啟動。

第三步:

  預設會在桌面生成兩個快捷方式,Docker的客戶端和VirtualBox,雙擊Docker的客戶端,第一次執行時會在VirtualBox中安裝boot2Docker-vm虛擬機器,安裝成功以後自動啟動(這裡不需要使用者每次到VirtualBox中手動啟動boot2Docker-vm虛擬機器,執行Docker客戶端後虛擬機器自動啟動)。

圖3.客戶端安裝虛擬機器並連線成功的介面

  到圖3就已經安裝成功了。

 

圖4.測試,登入Docker,成功

安裝過程中可能遇到的問題:

  第一次啟動的過程中客戶端可能會出現boot2Docker-vm is not running,這表示虛擬機器的安裝有問題,我們可以嘗試手動到VirtualBox中去啟動。

 

圖5.手動啟動boot2Docker-vm虛擬機器,雙擊

  此時VirtualBox會報錯,錯誤碼為E_FAIL (0x80004005),彈窗如下圖所示,提示“不能為虛擬電腦boot2Docker-vm開啟一個新任務”。

 

圖6.可能出現的錯誤(圖片來自網路)

 

圖7.這裡是更詳細的錯誤(圖片來自網路)

  錯誤原因,遇到這個錯誤一般來說都是宿主機的因特爾虛擬技術(Intel Virtual Technology)未開啟的原因。

  解決方法,重啟電腦,系統啟動前進入BIOS介面,啟動Intel Virtual Technology,如下圖所示(不同的BIOS系統在不同位置,不過大同小異)。

圖8.進入BIOS啟動Intel Virtual Technology(圖片來自網路)

  退出BIOS,儲存設定並重啟機器,再次啟動Docker客戶端即可。

Docker的Hello World

第一步:

  在執行使用Docker之前,我們先來建立一個Docker賬戶,以便我們能使用Docker Hub,Docker Hub是Docker的核心庫,它幫助我們管理Docker及其元件。

它還提供了主映象,使用者授權,自動化的映象和像build triggers和web hooks等工作流工具,還有對GitHub和BitBucket整合等。

我們可以直接登入Docker的官網來註冊賬號,或者直接通過命令來註冊。

  $ sudo docker login

第二步:

  簡單的輸出Hello World的命令

  $ sudo docker run ubuntu:14.04 /bin/echo 'Hello World'

  執行如下:

 

圖9.Hello World

  第一次使用該命令時,Docker會從雲端將ubuntu的image(ubuntu的Docker映象)檢出到本地。

  該命令完成了一個簡單的功能,但是Docker核心做的工作包括依賴映象的檢出,容器的建立和銷燬等都已經有了。有關此命令的詳細解釋請訪問Docker官網。

  以上就是Docker在Windows下的安裝以及Hello World。

本文目錄如下:

windows下安裝docker的方法應該參考Docker官網,之前參考的是網上其他人翻譯的部落格,出了一些問題,後來發現,是由於docker更新速度較快,安裝官網的方法最為妥當!

提示1:Docker 已經在windows7.1和windows 8上通過測試,當然它也可以在低版本的windows上使用。但是你的處理器必須支援硬體虛擬化。

提示2:Docker 引擎使用的是Linux核心特性,所以我們需要在 Windows 上使用一個輕量級的虛擬機器 (VM) 來執行 Docker。我們使用 Windows的Docker客戶端來控制 Docker 虛擬化引擎的構建、執行和管理 。

提示3:為了簡化這個過程,我們設計了一個叫 Boot2Docker 的應用程式,你可以通過它來安裝虛擬機器和執行 Docker。

提示4:雖然你使用的是 Windows 的 Docker 客戶端,但是 docker 引擎容器依然是執行在 Linux 宿主主機上(現在是通過Virtual box)。直到我們開發了 windows 版本的 Docker 引擎,你只需要在你的 Windows 主機上啟動一個 Linux 容器。

1.windows按照docker的基本要求

(1)64為作業系統,win7或者更高 
(2)支援“ Hardware Virtualization Technology”,並且,“virtualization ”可用

2.具體安裝步驟

即安裝Docker Toolbox,同時還附加安裝

  • Docker Client for Windows
  • Docker Toolbox management tool and ISO
  • Oracle VM VirtualBox
  • Git MSYS-git UNIX tools 
    不用擔心,下載的Docker Toolbox已經完全包含了這幾個軟體,直接安裝就可以了

1.進入Docker Toolbox的下載網頁,選擇windows版本下載 
這裡寫圖片描述
2. 下載完成後,雙擊安裝檔案 
3. 一路Next,接受所有預設安裝 
這裡寫圖片描述 
這裡寫圖片描述 
這裡寫圖片描述 
這裡寫圖片描述 
這裡寫圖片描述 
這裡寫圖片描述

注意:在安裝過程中,會出現幾個其他的安裝過程,如Ocracle Corporation等系列軟體,全部選擇安裝即可,下面是幾個小例子: 
這裡寫圖片描述 
這裡寫圖片描述 
另外,如果你安裝了360,它可能會阻止程式的安裝,應該注意允許程式安裝 
這裡寫圖片描述 
4. 最後Finish 
這裡寫圖片描述 
5. 整個安裝過程非常簡單,安裝完成後,可以在桌面得到如下的三個圖示: 
這裡寫圖片描述

3.開始使用

1.點選Docker Quickstart Terminal圖示,從而開啟一個Docker Toolbox terminal 
這裡寫圖片描述 
- 開啟terminal後,terminal會自動進行一些設定,需要點時間,全部完成後,會出現如下的結果 
這裡寫圖片描述 
3.在$後輸入各種docker命令就可以使用docker了 
注:不需要像ubuntu中那樣使用sudo! 
例如: 
(1)檢視docker的版本資訊

docker info
  • 1
  • 1

這裡寫圖片描述 
(2)登陸docker Hub的賬號

docker login
  • 1
  • 1

然後,輸入使用者名稱和密碼,例如 
這裡寫圖片描述 
個人覺得:在使用docker時,是否登陸沒有特別大的影響,只不過是,如果登陸了,就可以向docker hub上push自己的映象了

4.安裝遠端連線工具連線docker

按照上面方法開啟Docker Toolbox terminal後,發現在該終端中,無法進行復制、貼上等操作,使用起來非常不方便,所以,這裡參考zistxym的博文,安裝遠端連線工具SecureCRT

  • 下載SecureCRT 
    地址:綠盟SecureCRT綠色版免安裝,不知道為什麼,有時這兩個連結提示有病毒,所以,再提供一個百度雲盤的連結,提取碼:rm3g
  • 執行SecureCRT 
    這裡寫圖片描述
  • 連線docker 
    這裡寫圖片描述 
    這裡寫圖片描述
    注:預設的使用者名稱和密碼是: docker/tcuser

  • 使用SecureCRT即與使用Docker Quickstart Terminal的作用相同 
    這裡寫圖片描述
    這裡寫圖片描述

    • 再使用SecureCRT連線docker時,必須要先啟動Docker Quickstart Terminal
  • 關於SecureCRT的幾點設定 
    (1)使用中發現,secureCRT的滑鼠右鍵功能預設是貼上的功能,用起來和windows系統的風格不一致,如果要改為右鍵為彈出文字操作選單功能,方便對選擇的內容做拷貝編輯操作,可以在options選單—-》global options——》terminal——-》mouse功能塊處將paste on處改為:right button 
    這裡寫圖片描述
    此時,再滑鼠右鍵時,彈出了文字操作功能的選單,如下: 
    這裡寫圖片描述 
    (2)更改secureCRT的字型和背景 
    這裡寫圖片描述
    這裡寫圖片描述 
    僅是更改當前section的字型 
    這裡寫圖片描述

5.安裝中遇到的問題

全部安裝完成後,開啟Docker Quickstart Terminal,可能會出現如下錯誤: 
這裡寫圖片描述 
這是因為電腦沒有開啟支援VT-X/AMD-v功能,即沒有開啟虛擬化技術,需要重啟電腦,去BIOS裡開啟該功能

在利用image生成映象時,發生瞭如下錯誤

flag provided but not defined:

以為是因為docekr service和client的版本不同,各種查詢折騰,也沒有成功,最後發現,居然是命令中-v和路徑之間少了空格!都怪自己沒有仔細檢視錯誤提醒 
這裡寫圖片描述 
~~~~~~~~~~ 
這裡寫圖片描述

6.Docker的更新

如果本機安裝的docker過期了,也就是有新版本的docker釋出時,應該對本機的docker進行更新,否則很可能會影響它的繼續使用,那麼,對本機的docker進行更新可以安裝下述方式: 
(1)開啟Docker Quickstart Terminal終端 
(2)輸入命令:docker-machine upgrade default 
會開始自動更新本機的docker,如下圖所示 
這裡寫圖片描述 
(3)檢視docker版本

docker version
  • 1
  • 1

這裡寫圖片描述

這裡寫圖片描述

7.Docker中的jupyter

我使用的image中帶有jupyter,但發現按照ubuntu下的使用方法,即進入容器後,開啟http://0.0.0.0:8888/無法開啟Jupyter,經過一番查詢才終於找到正解,原來jupyter的image中就有明確說明,但沒有想到去那裡查詢!

具體方法: 
(1)開啟boot2docker,輸入docker-machine ip,會返回一個IP地址,例如

$ docker-machine ip myjupytermachine 
192.168.99.104

8.windows下使用docker的常用命令

  • 檢視本機images
docker images
  • 1
  • 1
  • 檢視本機執行的container
docker ps
  • 1
  • 1
  • 從dockerhub上pull 映象
docker pull 映象名稱
  • 1
  • 1
  • 利用image執行container:
docker run -it --rm -p 8888:8888 -v /c/Users/tingting/dropbox/code:/root/opt/workspace -v /c/Users/tingting/dropbox/data:/root/data tingtinglu/caffe_mxnet
  • 1
  • 1

(1)利用引數 -v 
(2)冒號前為宿主機目錄,必須為絕對路徑 
① /c/Users/tingting/dropbox/code
本機的C:\Users\tingting\dropbox\code資料夾 
② /c/Users/tingting/dropbox/data 
本機的C:\Users\tingting\dropbox\data資料夾 
(3)冒號後為映象內掛載的路徑 
① /root/opt/workspace 
docker中的資料夾/root/opt/workspace 
② /root/data 
docker中的資料夾/root/data 
(4)這裡的本機資料夾為c盤,那麼,能否為d盤呢? 
測試:

docker run -it --rm -p 8888:8888 -v /d/Dropbox/code:/root /opt/workspace -v /d/Dropbox/data:/root/data tingtinglu/caffe_mxnet
  • 1
  • 1

發現並不可行!這是因為目前,windows下只支援c盤下的資料夾對映