Windows安裝Docker Toolbox 和docker-machine 常用操作


最近在研究虛擬化,容器和大數據,所以從Docker入手,下面介紹一下在Windows下怎么玩轉Docker。

Docker本身在Windows下有兩個軟件,一個就是Docker,另一個是Docker Toolbox。這里我選擇的是Docker Toolbox,為什么呢?參見官方文檔:

官方下載地址(推薦):https://blog.docker.com/2015/08/docker-toolbox/

從阿里雲下載的docker-toolbox-18.03.0-ce安裝完成后在啟動的時候報錯好多,官方下的19.03.1版本的啟動很順利

首先我們從官網下載最新版的Windows Docker Toolbox。安裝后會安裝一個VirtualBox虛擬機,一個Kitematic,這是GUI管理Docker的工具,沒有發布正式版,不推薦使用,另外還有就是我們在命令行下用到的docker-machine和docker命令了。

安裝

安裝過程很簡單,保持默認選項,直接【next】即可。VirualBox和Git如果已經安裝,也可以不選

 安裝完成后,桌面上會多出3各圖標,如下。其中VirtualBox提供了linux虛擬機的運行環境,Docker Quickstart Terminal用於快速介入linux虛擬機,提供命令行交互,Kitematic是docker GUI很少用到。

安裝的時候要把Git For Windowns勾選起來,不然會出現圖下錯誤

 

 或者參考這里解決https://blog.51cto.com/suyanzhu/2315322

啟動

添加環境變量MACHINE_STORAGE_PATH值為E:\VirtualBox VMs\Default

(虛擬機文件存儲的位置,放在E盤,默認在C盤下,避免C盤空間不足)把已經安裝的虛擬機文件轉移一個盤老是出錯,不是知道為什么,所以建議在創建default之前把我虛擬機文件目錄設置好。

第一次運行Docker Quickstart Terminal時會進行Docker環境的初始化,會在VirtualBox中自動創建名字為【default】的linux虛擬機,再此過程中會用到boot2docker.iso鏡像文件。默認情況下,啟動程序會從GitHub上下載此文件的最新版,但由於文件相對較大且速度不給力,多數情況下會下載失敗,造成Docker環境無法啟動,如下圖:

解決方法:

其實DockerToolbox安裝文件自帶了boot2docker.iso鏡像文件,位於安裝目錄下(如C:\Program Files\Docker Toolbox) ,將此文件拷至E:\VirtualBox VMs\Default\cache目錄下,然后重新啟動,結果還是出錯,然后在網絡斷開的情況下重新啟動,便可初始化成功。如下圖

其中 【192.168.99.100】是VirtualBox中名字為【default】虛擬機的ip地址。 

鏡像加速

在國內使用Docker Hub的話就特別慢,為此,我們可以給Docker配置國內的加速地址。我看了一下,DaoCloud和阿里雲的鏡像加速還不錯,另外還有網易的蜂巢。選一個就行了。以DaoClound為例,注冊賬號,我用的加速地址是:https://alzgoonw.mirror.aliyuncs.com

然后到PowerShell中去依次執行:

docker-machine ssh default 
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile 
exit 
docker-machine restart default

這樣重啟Docker后就可以用國內的鏡像來加速下載了。

試一下下載一個mysql看看快不快:

docker pull mysql

下載完鏡像,我們運行一個容器:

docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

接下來我們打開windows下的mysql客戶端,服務器地址填docker虛擬機的IP地址,通過docker-machine env可以看到,我這里是192.168.99.100,然后用戶名root,密碼123,這樣我們就可以連接到docker容器里面的mysql了。

【注意,Docker容器是在VirtualBox的虛擬機里面,不是在Windows里面,所以不能用127.0.0.1訪問】

 Docker Quickstart Terminal只適合用於初始化安裝default,后續管理docker建議還是用powershell 

docker-machine 常用操作

#鏈接到default docker
docker-machine ssh default

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM