你想創(chuàng)建你自己的基礎(chǔ)鏡像?很好!
具體的過(guò)程會(huì)嚴(yán)重依賴(lài)于你想打包的Linux發(fā)行版。我們有下面一些例子供你參考。 同時(shí),我們鼓勵(lì)你通過(guò)提交推送請(qǐng)求來(lái)貢獻(xiàn)你的新鏡像。
通常,你要先運(yùn)行一個(gè)可工作的發(fā)行版的機(jī)器,來(lái)打包一個(gè)基礎(chǔ)鏡像。雖然有一些 工具不是必需的,比如 Debian 的 Deboostrap,但是你還是可以用它來(lái)生成 Ubuntu 鏡像。
下面的例子盡可能簡(jiǎn)單地創(chuàng)建一個(gè) Ubuntu 基礎(chǔ)鏡像:
$ sudo debootstrap raring raring > /dev/null
$ sudo tar -C raring -c . | sudo docker import - raring
a29c15f1bf7a
$ sudo docker run raring cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
DISTRIB_DESCRIPTION="Ubuntu 13.04"
在 Docker 的 GitHub 上,有更多的創(chuàng)建基礎(chǔ)鏡像的腳本示例:
在 Docker 的注冊(cè)中,有一個(gè)使用空的 tar 文件創(chuàng)建的特殊的版本庫(kù),叫 scratch :
$ tar cv --files-from /dev/null | docker import - scratch
你可以用 docker pull 把它拉取下來(lái)。然后你就可以基于它來(lái)做新的最小 的容器了:
FROM scratch
COPY true-asm /true
CMD ["/true"]
上面的 Dockerfile 來(lái)自外部的一個(gè)最小鏡像:tianon/true。