如何調試docker中的源代碼?

如何調試docker中的源代碼?

如何調試docker中的源代碼?

調試docker中源代碼的方法:

經過研究docker的官方編譯腳步,發現本地編譯也很簡單,只需要在docker源碼的目錄下執行如下命令即可:

./hack/make.sh?binary

上面這條命令就只會生成docker的二進制文件,不過肯定不會這么順利的,執行這個命令你就會發現錯誤。如果第一次執行報的錯誤應該是找不到相應的go依賴包。那么現在就開始解決第一個問題,go依賴包。

解決go依賴包最直接的方法就一個一個去github或者其他地方去下載到本地,但是這樣做很麻煩,docker依賴的go語言包很多,然后依賴包可能又依賴其他包。這里有一個簡單實用的辦法,也是go語言管理項目的方便之處。通過go get命令來自動下載,例如發現報錯的是docker某一個目錄下的依賴包,那么可以如下執行:

go?get?-v?./src/github.com/docker/docker/...

這條命令執行以后整個docker目錄下源文件依賴的包都會被自動下載。如果發現其他目錄下源文件也報同樣的錯誤,可以按照次方法解決。不過這里需要強調一點, 這些下載都是會下載最新的包,如果編譯老的docker肯定會出問題 ,如果編譯最新的docker代碼肯定不會有問題,因為官方的編譯是這種方式。

上面執行的命令都是建立在go語言環境建立成功的基礎上,我安裝的go遇到是1.3.3版本的,采用源碼方式安裝。安裝在/export/servers/go下面,然后所有的go語言工程源碼目錄放在 /export/servers/gopath。然后配置環境變量在用戶的根目錄下的.bashrc文件里面如下:

export?GOPATH=/export/servers/gopath export?GOROOT=/export/servers/go export?GOARCH=amd64 export?GOOS=linux


推薦教程:《docker視頻教程

以上就是如何調試

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享