DockerToolbox安裝docker - Windows 10

一垃你、前言

由于本機使用的是win10家庭版操作系統(tǒng),無法直接Docker for Windows安裝喂很,因此只好使用Docker Toolbox惜颇。在安裝過程中遇到了不少問題,花費了不少時間少辣,才把docker啟動起來凌摄。在此記錄一下過程,以供參考漓帅。

二锨亏、準備工作

2.1 操作系統(tǒng)

要安裝docker痴怨,首先要確保操作系統(tǒng)是64位且win7以上的版本。如果操作系統(tǒng)是win10 pro器予,可以直接使用Docker for Windows安裝浪藻。本文是基于win10 家庭版安裝。

2.2 開啟虛擬化

開機進入BIOS乾翔,找到“Intel Virtual Technology”類似的選項爱葵,設置為Enabled。

注:
如果安裝有360安全衛(wèi)士反浓,最好先關閉它的核晶保護引擎萌丈。步驟:打開360安全衛(wèi)士的主面板,點擊左下角的防護中心雷则,在彈出的頁面中辆雾,點擊右上角一個像勛章的圖標,關閉核晶保護引擎巧婶。

核晶保護引擎.png

2.3 關閉Hyper-V

打開控制面板乾颁,依次點擊程序 -> 程序和功能 -> 啟用或關閉Windows功能,找到Hyper-V艺栈,不要勾選英岭,點擊確定。如果沒找到Hyper-V湿右,就不用管了诅妹。

2.4 安裝PowerShell

此步驟可以先不用做,如果后面用到了毅人,再來安裝不遲吭狡。
安裝方法:https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell?view=powershell-6

三、下載并安裝Docker Toolbox

3.1 下載Docker Toolbox

下載地址:https://docs.docker.com/toolbox/toolbox_install_windows/丈莺。

這個頁面除了可以下載Docker Toolbox外划煮,還有Docker Toolbox的安裝教程〉薅恚可以先自行按上面的步驟進行安裝弛秋,若在之后啟動docker時遇到了問題,再回來看剩下的部分也不遲俐载。

3.2 安裝Docker Toolbox

雙擊Docker Toolbox.exe, 一路點擊NEXT, 安裝路徑我設置的是E:\DockerToolbox蟹略。

setup-docker-toolbox-1.png
setup-docker-toolbox-2.png
setup-docker-toolbox-3.png
setup-docker-toolbox-4.png
setup-docker-toolbox-5.png

安裝完成后,會出現如下幾個圖標:

setup-docker-toolbox-6.png

雙擊Docker Quickstart Terminal, 如果出現如下頁面遏佣,說明Docker已啟動成功挖炬,后面的內容就不需要再看了。

docker-start.png

四状婶、啟動Docker

4.1 創(chuàng)建docker machine

打開power shell(如果還未安裝意敛,參考2.4)馅巷,進入Docker Toolbox的安裝目錄,可以看到這個下面有docker-machine.exe草姻、boot2docker.isostart.sh幾個文件令杈。

在power shell中執(zhí)行如下命令:

$ docker-machine.exe create --driver virtualbox --virtualbox-boot2docker-url=boot2docker.iso default

輸出如下:

docker-create-default.png

注:docker-machine.exe雖然是個可執(zhí)行文件,直接雙擊卻沒什么用碴倾,需要指定參數來配合。

4.2 啟動docker machine

在power shell中執(zhí)行start.sh掉丽,會新彈出一個bash窗口跌榔,輸出如下信息:

$ ./start.sh
docker-start.png

注:start.sh里面涉及到一些文件路徑,這些文件路徑是windows的捶障。使用bash來執(zhí)行可能會出現找不到文件的問題僧须。
比如E:\DockerToolbox\docker-machine.exe需改成/mnt/e/DockerToolbox/docker-machine.exe才能被bash正確的找到。

之所以說是可能會出現项炼,是因為我在使用power shell創(chuàng)建default docker machine后担平,直接在bash中執(zhí)行start.sh,結果也能正常運行了锭部。暂论。。

所以拌禾,在安裝過程中取胎,為保險起見,還是使用power shell吧湃窍。

4.3 使用docker

docker machine啟動之后闻蛀,就可以在bash里面正常使用docker的相關命令了。

docker.png

4.4 關閉docker machine

執(zhí)行如下命令:

$ docker-machine.exe stop default

注:也可以使用Oracle VM VirtualBox來關閉您市。Oracle VM VirtualBox是用來管理docker machine的圖形界面工具觉痛,在步驟3.2中可以看到。

4.5 刪除docker machine

執(zhí)行如下命令:

$ docker-machine.exe rm default

也可以使用Oracle VM VirtualBox來刪除茵休。

五薪棒、鏡像加速

可以通過修改鏡像倉庫地址,加速docker 鏡像的拉取泽篮。

執(zhí)行docker-machine ssh default

$ docker-machine ssh default
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net

設置鏡像地址

接下來執(zhí)行sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://registry.docker-cn.com |g" /var/lib/boot2docker/profile盗尸,
此處鏡像地址使用的是https://registry.docker-cn.com,可自行更換帽撑。

執(zhí)行完畢后泼各,執(zhí)行exit退出。

docker@default:~$ cat /var/lib/boot2docker/profile

EXTRA_ARGS='
--label provider=virtualbox

'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=aufs
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem


docker@default:~$
docker@default:~$ sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=https://registry.docker-cn.com |g" /var/lib/boot2docker/profile
docker@default:~$ cat /var/lib/boot2docker/profile

EXTRA_ARGS='--registry-mirror=https://registry.docker-cn.com
--label provider=virtualbox

'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=aufs
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem


docker@default:~$ exit

重啟docker-machine

$ docker-machine restart default
Restarting "default"...
(default) Check network to re-create if needed...
(default) Windows might ask for the permission to configure a dhcp server. Sometimes, such confirmation window is minimized in the taskbar.
(default) Waiting for an IP...
Waiting for SSH to be available...
Detecting the provisioner...
Restarted machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

六亏拉、安裝問題一覽

問題1

雙擊Docker Quickstart Terminal扣蜻,提示windows 正在查找bash.exe逆巍。如果想親自查找文件,請點擊“瀏覽”莽使。

問題原因

一般出現這個問題锐极,是因為之前已經安裝過了git,且bash.exe的路徑與Docker Toolbox中不一致導致的芳肌。

解決辦法

右擊Docker Quickstart Terminal的圖標灵再,修改前一段bash的路徑。

quick-start.png

問題2

雙擊Docker Quickstart Terminal亿笤,bash窗口一閃而過翎迁。

問題原因

窗口一閃而過,一般是程序運行出錯了净薛,需要找到錯誤信息汪榔。通過問題1知道這個快捷方式是使用bash執(zhí)行start.sh,所以考慮直接在bash中執(zhí)行start.sh肃拜。打開bash.exe痴腌,執(zhí)行start.sh,發(fā)現輸出如下一段文字:

Docker Machine is not installed. Please re-run the Toolbox Installer and try again.

使用編輯器打開start.sh燃领,會發(fā)現如下兩端代碼:

export PATH="$(win_to_unix_path "${DOCKER_TOOLBOX_INSTALL_PATH}"):$PATH"
VM=${DOCKER_MACHINE_NAME-default}
DOCKER_MACHINE="${DOCKER_TOOLBOX_INSTALL_PATH}\docker-machine.exe"

// ... 省略

if [ ! -f "${DOCKER_MACHINE}" ]; then
  echo "Docker Machine is not installed. Please re-run the Toolbox Installer and try again."
  exit 1
fi

發(fā)現是因為找不到docker-machine.exe報的錯士聪。docker-machine.exe的路徑跟DOCKER_TOOLBOX_INSTALL_PATH這個變量有關。查看環(huán)境變量柿菩,發(fā)現確實沒有DOCKER_TOOLBOX_INSTALL_PATH戚嗅。

解決辦法

第一個辦法是直接在start.sh里面修改DOCKER_MACHINE的地址,但這種方式治標不治本枢舶。
第二個辦法是手動創(chuàng)建系統(tǒng)變量DOCKER_TOOLBOX_INSTALL_PATH懦胞,也是治標不治本
第三個辦法是使用docker-machine.exe創(chuàng)建一個docker machine(參考4.1),docker machine創(chuàng)建完成之后凉泄,環(huán)境變量里就會有DOCKER_TOOLBOX_INSTALL_PATH躏尉。

問題3

執(zhí)行start.sh報與boot2docker.iso相關的錯誤:

Running pre-create checks...
(default) Unable to get the local Boot2Docker ISO version:  Did not find prefix "-v" in version string
(default) Default Boot2Docker ISO is out-of-date, downloading the latest release...
(default) Latest release for github.com/boot2docker/boot2docker is v18.09.0
(default) Downloading C:\Users\zhangcm\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v18.09.0/boot2docker.iso...
Error with pre-create check: "Get https://github-production-release-asset-2e65be.s3.amazonaws.com/14930729/6ae43280-e2b8-11e8-8e32-e857d71a28cd?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190105%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190105T054430Z&X-Amz-Expires=300&X-Amz-Signature=c16df60be023a5e71aa4091d3be41418973da7b46029860b0c7817ef4c6aac22&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dboot2docker.iso&response-content-type=application%2Foctet-stream: dial tcp 127.0.0.1:443: connectex: No connection could be made because the target machine actively refused it."
Looks like something went wrong in step ′Checking if machine default exists′... Press any key to continue...
解決方法

其實Docker Toolbox安裝路徑下已經有boot2docker.iso文件了。參考4.1后众,創(chuàng)建一個docker machine胀糜。然后再執(zhí)行start.sh。

如果是提示boot2docker.iso的版本過舊蒂誉,則需要下載一個新版本教藻。
下載地址:https://github.com/boot2docker/boot2docker/releases
選擇一個版本右锨,點擊boot2docker.iso文件下載括堤。點擊后會自動跳轉到另一個域名(https://github-production-release-asset-2e65be.s3.amazonaws.com),需翻墻。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末悄窃,一起剝皮案震驚了整個濱河市讥电,隨后出現的幾起案子,更是在濱河造成了極大的恐慌轧抗,老刑警劉巖恩敌,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異横媚,居然都是意外死亡纠炮,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門灯蝴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抗碰,“玉大人,你說我怎么就攤上這事绽乔。” “怎么了碳褒?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵折砸,是天一觀的道長。 經常有香客問我沙峻,道長睦授,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任摔寨,我火速辦了婚禮去枷,結果婚禮上,老公的妹妹穿的比我還像新娘是复。我一直安慰自己删顶,他們只是感情好,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布淑廊。 她就那樣靜靜地躺著逗余,像睡著了一般。 火紅的嫁衣襯著肌膚如雪季惩。 梳的紋絲不亂的頭發(fā)上录粱,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音画拾,去河邊找鬼啥繁。 笑死,一個胖子當著我的面吹牛青抛,可吹牛的內容都是我干的旗闽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宪睹!你這毒婦竟也來了愁茁?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤亭病,失蹤者是張志新(化名)和其女友劉穎鹅很,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體罪帖,經...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡促煮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了整袁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片菠齿。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坐昙,靈堂內的尸體忽然破棺而出绳匀,到底是詐尸還是另有隱情,我是刑警寧澤炸客,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布疾棵,位于F島的核電站,受9級特大地震影響痹仙,放射性物質發(fā)生泄漏是尔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一开仰、第九天 我趴在偏房一處隱蔽的房頂上張望拟枚。 院中可真熱鬧,春花似錦众弓、人聲如沸恩溅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽暴匠。三九已至,卻和暖如春傻粘,著一層夾襖步出監(jiān)牢的瞬間每窖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工弦悉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留窒典,地道東北人。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓稽莉,卻偏偏與公主長得像瀑志,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內容