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盤下的資料夾對映