docker 1.8版本后,windows下有新版docker承載客戶端docker toolbox替代了原來的boot2docker docker toolbox安裝后,運行過程中可以配置一系列windows環境變量,讓windows命令行終端中也能運行docker命令,就和linux下直接運行docker命令一樣的效果,激動吧。但遺憾的是并不傻瓜化,toolbox在start虛擬機后,還需要運行一些命令,才能在windows終端中直接運行docker命令:
1、啟動一個docker虛擬機(本處暫定容器名為default),注意toolbox和boot2docker不一樣的地方在boot2docker始終只有一個默認虛擬機,而于toolbox可以初始化多個虛擬機了,可以分散存儲鏡像不用擔心硬盤空間的問題 >docker-machine start default 結果: Starting VM... docker主動提示下一步應該進行的操作,其實也就是本文所說的配置環境變量 如果不配置,嘗試一下直接運行 >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認為你并沒有啟動虛擬機 2、按照上一步操作docker的提示運行命令 >docker-machine env default 顯示: export DOCKER_TLS_VERIFY="1" 顯示結果就是你應該運行來配置環境變量的命令,docker幫你打印出來方便下一步執行 但是客官看得到,命令是export,這是linux下配置環境變量的命令而不是windows的 3、記得docker安裝的時候有個安裝可選項MSSYS-git UNIX tools嗎,這個工具就是讓你在windows下運行linux命令的工具,其實就是一堆linux命令的windows版,現在進入sh環境 >sh 顯示: sh-3.1$ 現在可以運行上一步的操作提示 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" 這樣環境變量就配置好了,但是復制黏貼運行4條命令不覺得麻煩嗎,其實docker已經告訴你怎么操作比較方便了 sh-3.1$ eval "$(docker-machine env default)" 一條語句搞定 4、現在在sh環境下再次嘗試運行: >docker ps CONTAINER ID IMAGE COMMAND 大功告成
注意:在sh環境下配置好環境變量后,就不要再退出sh環境了,退出運行docker命令的話客戶端又會報docker進程未啟動的錯,只能在sh環境中使用docker命令。總結使用起來還是太繁雜,不夠傻瓜化,當然docker的底層lxc本來就是linux的獨享,能在windows下經由虛擬機運行起來已經不錯了,希望以后通過和微軟的合作能打通windows底層,讓docker在windows下的運行也和linux下一樣便捷。 |
|