在Windows 8.1上編譯和安裝Docke Windowsr客戶端

最近工作需要做Docker與公有云結合的演示,Docker容器技術作爲虛擬機革新技術是時下非常火熱而受到關注的技術,最初是 PaaS 提供商 dotCloud 開源的一個基於 LXC 的高級容器引擎,源代碼託管在 Github 上, 基於go語言並遵從Apache2.0協議開源,founder是法國的一個ITPro名字挺霸氣叫所羅門的哥們。如果你還對它不太瞭解,可以看看這篇關於快速瞭解其技術的文章。

既然Docker是在內核3.8以上的Linux上搞起來的,那麼和本人就職的公司看似沒有太多關聯;實則不然,首先Azure公有云服務更加開放的擁抱開源包括Docker及其生態系統,未來在Windows服務器上實現Docker容器也在計劃中,看看這張圖,對於Docker生態系統來說容器可以建立在自己的Ubuntu或CentOS測試機上,建立在本地數據中心的測試機上,或者雲中,當然在這個雲包括的微軟的Azure公有云。將在後記博文中介紹在Azure公有云建立Docker環境等的體驗。

而對於Docker客戶端的體驗,其原生客戶端環境也是建立在Linux環境中的,不過目前已經可以實現在Windows環境中使用原生的編譯好的Docker客戶端了,本文就將介紹如何實現。


閒言少敘,現在開工…

首先下載並安裝Go 開發包GoMSIInstaller,並且修改環境變量添加Go的安裝目錄默認C:\Go;C:\Go\bin。

如果本地沒有安裝Git,請下載客戶端,並通過Git shell克隆docker客戶端項目

git clone https://github.com/docker/docker.git c:\go\src\github.com\docker\docker


請注意,在開始編譯前修改Docker客戶端版本爲1.15,否則連接本地或者遠程Docker服務器時會出現客戶端1.15版本與服務器1.16版本不匹配的錯誤;目前這是個Bug。


C:\Go\src\github.com\docker\docker\api\common.go

const (

APIVERSION        version.Version = "1.15"



ok,修改完開始編譯

set GOPATH=c:\Go;c:\Go\src\github.com\docker\docker\vendor
set DOCKER_CLIENTONLY=1
cd c:\gopath\src\github.com\docker\docker\docker
go build -v


編譯完成後,在當前目錄出現編譯好的docker.exe ;ok,現在可以運行Docker客戶端連接Docker服務器測試吧,先測試一下在本地安裝的Boot2Docker環境, Nice:)

docker --tls -H tcp://192.168.199.120:4243 info




本文參考文章:

https://ahmetalpbalkan.com/blog/compiling-docker-cli-on-windows/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章