開始安裝Docker之前,先來了解一下 Docker for Windows 與 Docker Toolbox 的區別。
因為這兩款軟件是針對不同的系統環境分別使用的,選擇一款適合自己系統環境的軟件進行安裝。
Docker for Windows 與 Docker Toolbox:
- Docker for Windows
一個集成的,易於部署的開發環境,用於在Windows PC上構建,調試和測試Docker應用程序。Docker for Windows是一款 本機Windows應用程序,與Hyper-V虛擬化,網絡和文件系統深度集成,使其成為Windows中速度最快,最可靠的Docker環境。
Docker for Windows官方下載地址:
https://store.docker.com/editions/community/docker-ce-desktop-windows
特別注意的是:
Docker for Windows 只能運行於 Microsoft Windows 10 Professional或Enterprise 64位,但是它不支持Win7系統。如果你的系統是Win7,請使用 DockerToolbox。
- Docker Toolbox
Docker Toolbox提供了一種在Windows系統上使用Docker的方法。前提是你的機器必須具有運行Windows 7或更高版本的64位操作系統。
Docker Toolbox官方下載地址:
https://docs.docker.com/toolbox/toolbox_install_windows/
如果你的電腦是win10系統,則可以參考官方文檔,進行安裝 Docker for Windows 軟件,官方文檔地址:
https://docs.docker.com/docker-for-windows/install/
由於大多數人的系統為win7系統,我的電腦系統也是win7,因此,我就選擇 Docker Toolbox 來安裝Docker服務了。
安裝 Docker Toolbox
下載好 Docker Toolbox 軟件之后,本地雙擊運行安裝就行了。
安裝完成后,你的電腦桌面上會出現以下幾個應用圖標:
上面三個圖標軟件的含義:
Docker Quickstart Terminal:
Docker的啟動器終端,可以在這里進行Docker的一系列操作。
首次啟動Docker Quickstart可能會遇到的問題
【問題一】:安裝好Docker Toolbox之后,當運行Docker Quickstart Terminal的時候,可能會出現如下圖所示的問題:
首先需要明白bash.exe是什么?bash.exe是git軟件的執行程序,因此,回想在安裝Docker Toolbox時,會提示你安裝一些軟件,里面就有git選擇。如下圖(圖片摘自網絡):
但是,有時候即使勾選了git選項,在啟動Docker Quickstart Terminal的時候,還是提示找不到bash.exe文件,這時候怎么辦呢?
解決辦法:
前提是你本地需要安裝好git 或者找到bash.exe所在的目錄。
右鍵桌面上的Docker Quickstart Terminal圖標,選擇屬性,在彈出框中找到“快捷方式”選項卡,修改其中的“目標”一欄,最前面的內容修改為你本地電腦上bash.exe的位置即可。
效果如下圖:
因為我本地電腦之前已經安裝過了git,所以直接使用這個bash.exe的路徑即可,安裝路徑截圖如下:
【問題二】:雙擊運行Docker Quickstart Terminal應用的時候,不能正常啟動。
錯誤信息如下圖所示(圖片摘自網絡):
造成以上的問題的原因,可能是有以下幾種情況:
首先需要說明,在Docker Quickstart Terminal啟動后會復制C:\Users\Administrator.docker\machine\cache下的鏡像boot2docker.iso到C:\Users\Administrator.docker\machine\machines\default下面。
【原因一】
- 檢測到默認的boot2docker.iso鏡像不是最新版本的,需要到https://github.com/boot2docker/boot2docker/releases下載最新的,並復制到C:\Users\Administrator.docker\machine\cache目錄下。
【原因二】
- 如果本地目錄C:\Users\Administrator.docker\machine\cache下面沒有boot2docker.iso鏡像文件的話,當自動去下載對應的boot2docker.iso鏡像文件的時候,但是網絡由於是國外的,依然會出現下載超時的情況,導致一直出現錯誤。
【原因三】
- 如果本地目錄C:\Users\Administrator.docker\machine\cache下面沒有boot2docker.iso鏡像文件的話,加上國外網絡不理想,那么,還有一種解決方式就是:
打開Docker Toolbox的安裝目錄,里面會有一個boot2docker.iso鏡像文件,如下圖所示(這是Docker Toolbox軟件自帶的鏡像文件,肯定是兼容的):
然后將boot2docker.iso文件復制到C:\Users\Administrator.docker\machine\cache目錄下面,再重新啟動Docker Quickstart Terminal應用即可。
如果依然出現上圖所示的錯誤,請多次嘗試啟動Docker Quickstart Terminal,多次啟動幾次之后就會OK了。
如果Docker Toolbox軟件安裝目錄下面沒有boot2docker.iso鏡像文件的話,你可以自行去下載: https://github.com/boot2docker/boot2docker/releases
首次運行Docker Quickstart Terminal的初始化過程
第一次運行Docker Quickstart Terminal的時候,軟件會需要進行初始化操作,需要等待片刻。
大概的運行情況如下圖所示(圖片摘自網絡):
以上輸出結果,說明Docker Quickstart Terminal已經可以正常啟動運行了。
當下次運行該軟件的時候,顯示的信息如下圖:
你可以在這里運行Docker命令,比如運行命令 docker images 查看安裝的容器列表,效果如下圖:
特別說明:
當你第一次運行Docker Quickstart Terminal的時候,且該軟件初始化成功之后,你會發現界面上會輸出一個IP地址信息,如下圖(該圖是我本地電腦上的,並非第一次運行的效果,不過每次啟動都會顯示IP信息的):
這個IP地址的含義是什么呢?
我忘記在哪里查到的資料了,簡單來說就是,如果你電腦上安裝的是Docker Toolbox用於操作Docker的話,那么當你啟動容器之后(比如啟動了一個Nginx鏡像),要想能使用瀏覽器訪問Nginx服務,則不能使用localhost或者127.0.0.1,必須使用192.168.99.100,也就是Docker Quickstart Terminal分配給你的IP地址。
新手的話,如果不仔細閱讀這段話的意思的話,很容易使用localhost、127.0.0.1來訪問你的容器服務,會出現訪問超時的錯誤。就會誤以為是Docker服務有問題,其實並非如此,建議新手一定要牢記上面的說明。
Oracle Virtual Box:
Docker Toolbox使用Oracle Virtual Box而不是Hyper-V虛擬化產品。
Kitematic (Alpha):
Kitematic 是一個圖形化界面的用於操作Docker的應用軟件。我們可以簡單快速地搭建我們的容器而不需要輸入命令,可以在圖形用戶界面中通過簡單的點擊從而在容器上部署我們的應用。Kitematic 集成了 Docker Hub,允許我們搜索、拉取任何需要的鏡像,並在上面部署應用。它同時也能很好地切換到命令行用戶接口模式。
Kitematic官方地址:https://kitematic.com/
軟件首頁如下圖所示:
從上圖軟件界面可以知道,右側就是列舉了很多熱門的開源鏡像,方便進行操作使用。
而軟件左側,就是顯示本地電腦上已經存在的容器,可以對容器進行停止和刪除等操作。
軟件還有很多功能,這里就不多做說明,自己網上查詢資料學習吧。
使用終端軟件連接Docker服務
我使用的是 MobaXterm 這個客戶端軟件,你也可以使用XShell等第三方軟件。
MobaXterm下載地址(我已經上傳到百度網盤里面了):
MobaXterm軟件效果截圖:
使用終端軟件連接Docker服務
這里我就使用 MobaXterm 連接本地的Docker服務。
因為本地電腦是win7系統,Docker服務是運行在 boot2docker 所創建的虛擬機里的。
因此,默認的用戶名是****docker 密碼是:****tcuser
同時還需要注意一點,就是host,該填寫什么IP呢?
還記得上面講過Docker Quickstart Terminal在初始化的時候,會默認分配一個IP地址,沒錯,就是填寫這個IP地址。
具體的信息錄入,我就不一一截圖了,自己操作就行了,按照客戶端提示填寫即可。
最終成功連接Docker后的效果:
上圖所示的輸出信息,說明已經成功連接上Docker服務了。
這樣的話,你既可以使用Docker Quickstart Terminal來操作Docker服務,也可以使用其他客戶端連接Docker服務並進行一系列的操作。