Ubuntu Docker 源碼編譯:
網(wǎng)上對Ubuntu Docker 源碼編譯的資料有很多,但是對于具體如何操作,和命令的實(shí)現(xiàn)不是多細(xì)致,經(jīng)過我一番折騰,終于把源碼編譯搞定,這里記錄下,以便以后使用參考,
一、系統(tǒng)環(huán)境
Ubuntu14.04 desktop 64位
二、安裝Docker(Docker內(nèi)編譯Docker)
$ sudo apt-get update
$ sudo apt-get install wget
$ wget -qO- https://get.docker.com/ | sh
三、拉取Docker開發(fā)環(huán)境容器
# docker pull docker-dev:1.9.1
四、下載Docker源碼到本地機(jī)器
# apt-get install git # mkdir -p /home/docker/src # cd /home/docker/src # git clone https://github.com/docker/docker.git # cd docker # git checkout v1.9.1
五、編譯
其實(shí)Docker編譯容器內(nèi)自帶了源碼,這里第四步將源碼下載到本地機(jī)器,主要是為了二次開發(fā)方便。
可以將開發(fā)好的新代碼替換容器內(nèi)原有的代碼,進(jìn)行定制開發(fā)。
1. 創(chuàng)建本地編譯結(jié)果保存目錄
# mkdir -p /home/docker/bundles
2. 啟動容器,并映射本地代碼到容器:
# docker run --rm -it --privileged / -e BUILDFLAGS / -e DOCKER_CLIENTONLY / -e DOCKER_EXECDRIVER / -e DOCKER_EXPERIMENTAL / -e DOCKER_GRAPHDRIVER / -e DOCKER_STORAGE_OPTS / -e DOCKER_USERLANDPROXY / -e TESTDIRS -e TESTFLAGS / -e TIMEOUT / -v /home/docker/bundles:/go/src/github.com/docker/docker/bundles / -v /home/docker/src:/tmp / docker-dev:1.9.1 / bash
3. 在容器中編譯(此命令在容器中執(zhí)行):
# cp -a /tmp/docker/* /go/src/github.com/docker/docker/
# hack/make.sh binary
4. 編譯完成后,退出容器,檢查本地結(jié)果路徑,已經(jīng)生成了編譯好的Docker可執(zhí)行文件:
# ls -l /home/docker/bundles
六、驗(yàn)證
# cd /home/docker/bundles/1.9.1/binary
# ./docker version
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選