docker 1.8版本后,windows下有新版docker承載客戶端docker toolbox替代了原來的boot2docker docker toolbox安裝后,運行過程中可以配置一系列windows環(huán)境變量,讓windows命令行終端中也能運行docker命令,就和linux下直接運行docker命令一樣的效果,激動吧。但遺憾的是并不傻瓜化,toolbox在start虛擬機(jī)后,還需要運行一些命令,才能在windows終端中直接運行docker命令:
1、啟動一個docker虛擬機(jī)(本處暫定容器名為default),注意toolbox和boot2docker不一樣的地方在boot2docker始終只有一個默認(rèn)虛擬機(jī),而于toolbox可以初始化多個虛擬機(jī)了,可以分散存儲鏡像不用擔(dān)心硬盤空間的問題 >docker-machine start default 結(jié)果: Starting VM... docker主動提示下一步應(yīng)該進(jìn)行的操作,其實也就是本文所說的配置環(huán)境變量 如果不配置,嘗試一下直接運行 >docker ps 報錯: Get http://127.0.0.1:2375/v1.20/containers/json: dial tcp 127.0.0.1:2375: ConnectEx tcp: No connection could be made because the target machine actively refused it.. docker認(rèn)為你并沒有啟動虛擬機(jī) 2、按照上一步操作docker的提示運行命令 >docker-machine env default 顯示: export DOCKER_TLS_VERIFY="1" 顯示結(jié)果就是你應(yīng)該運行來配置環(huán)境變量的命令,docker幫你打印出來方便下一步執(zhí)行 但是客官看得到,命令是export,這是linux下配置環(huán)境變量的命令而不是windows的 3、記得docker安裝的時候有個安裝可選項MSSYS-git UNIX tools嗎,這個工具就是讓你在windows下運行l(wèi)inux命令的工具,其實就是一堆linux命令的windows版,現(xiàn)在進(jìn)入sh環(huán)境 >sh 顯示: sh-3.1$ 現(xiàn)在可以運行上一步的操作提示 sh-3.1$ export DOCKER_TLS_VERIFY="1" sh-3.1$ export DOCKER_HOST="tcp://192.168.99.100:2376" sh-3.1$ export DOCKER_CERT_PATH="C:\Users\Administrator\.docker\machine\machines\default" sh-3.1$ export DOCKER_MACHINE_NAME="default" 這樣環(huán)境變量就配置好了,但是復(fù)制黏貼運行4條命令不覺得麻煩嗎,其實docker已經(jīng)告訴你怎么操作比較方便了 sh-3.1$ eval "$(docker-machine env default)" 一條語句搞定 4、現(xiàn)在在sh環(huán)境下再次嘗試運行: >docker ps CONTAINER ID IMAGE COMMAND 大功告成
注意:在sh環(huán)境下配置好環(huán)境變量后,就不要再退出sh環(huán)境了,退出運行docker命令的話客戶端又會報docker進(jìn)程未啟動的錯,只能在sh環(huán)境中使用docker命令??偨Y(jié)使用起來還是太繁雜,不夠傻瓜化,當(dāng)然docker的底層lxc本來就是linux的獨享,能在windows下經(jīng)由虛擬機(jī)運行起來已經(jīng)不錯了,希望以后通過和微軟的合作能打通windows底層,讓docker在windows下的運行也和linux下一樣便捷。 |
|