一般情況下, 我們需要制作image的話, 總需要一個基本的image, 那麼這個base image是哪裡來的呢?
如果不自制的話, 那就得去docker hub下載下傳.
其實base image也可以自制, 參考docker提供的mkimage開頭的腳本 :
https://github.com/docker/docker/tree/master/contrib
例如mkimage-yum.sh是在centos中制作centos base image的腳本.
例如我在centos 6.x x64中可以制作centos 6 x64最新版的image.
腳本内容如下 :
最後一步tar --numeric-owner -c -c "$target" . | docker import - $name:$version是使用docker import導入到本地鏡像庫.
[root@150 ~]# vi build.sh
yum的installroot用于将包安裝到指定的root, 而不是本地.
man yum
[root@150 ~]# cat /etc/yum.conf
跑這個腳本, 就可以建立centos6的鏡像了, 自動tag為最新版本.
運作過程的輸出提取如下 :
[root@150 ~]# ./build.sh -y /etc/yum.conf centos6
運作完後, 可以在本地檢視到剛才生成的image.
使用這個image
送出到docker hub或私有docker registry
送出到docker hub
上傳到私有registry
[參考]
1. https://github.com/docker/docker/blob/master/contrib/mkimage-yum.sh
2. https://docs.docker.com/articles/baseimages/
3. man docker-import