Docker真是越來越火了,相比之前很成熟了(只是相比幾年前而已,當然還是有很多坑的),四年前寫了一篇自制docker image的文章:自制docker鏡像和私有倉庫,不過是針對ubuntu系統的,今天講講怎麼製作centos系統的image,爲啥要製作centos鏡像呢,因爲公司要用....
OS
CentOS release 6.7 (Final)
安裝依賴
yum install febootstrap
製作
febootstrap -i bash -i openssh-server centos6 centos6.7 http://mirrors.aliyun.com/centos/6/os/x86_64/
ps:命令使用模式 febootstrap [--options] REPO TARGET [MIRROR]
-i 表示你想安裝的軟件包
添加輔助文件
在這一步,你可以把你宿主系統中的一些文件拷貝到要打包的目錄中,比如hosts、resolve、bashrc文件等等,可以根據需要添加
打包
cd centos6.7
tar -c .|docker import - centos6.7
febootstrap在centos7中並沒有這個包,不過我們可以使用supermin5來製作centos7的image
OS
CentOS Linux release 7.3.1611 (Core)
安裝依賴
yum install supermin5
製作
supermin5 -v --prepare bash coreutils -o supermin.d
supermin5 -v --build --format chroot supermin.d -o appliance.d
tar --numeric-owner -cpf centos-7.tar -C appliance.d .
cat centos-7.tar | docker import - oliver/centos:v7.2
ps:使用模式
supermin --prepare -o OUTPUTDIR PACKAGE [PACKAGE ...]
supermin --build -o OUTPUTDIR -f chroot|ext2 INPUT [INPUT ...]
參數解釋
--prepare 想安裝的包
--build 編譯
--format 只有build模式有,表示輸出的是一個chroot目錄,還是一個ext2 disk image
-o OUTPUTDIR 輸出目錄
--size SIZE 輸出ext2文件系統的大小,只有build模式有
--use-installed
--copy-kernel 拷貝本機的內核