最近開始研究docker耳高,如果想要自己創(chuàng)建個鏡像品姓,必須從Docker Hub上面獲取一個基礎(chǔ)鏡像來創(chuàng)建;對于我們公司是定制的ISO申尼,我就在想有沒有辦法把ISO轉(zhuǎn)換成Docker格式胰柑,然后上傳到Docker Hub上作為基礎(chǔ)鏡像使用截亦。
參考文章:http://www.aboutdebian.com/tar-backup.htm
0x01 準(zhǔn)備階段
首先,在一臺虛擬機(jī)中安裝好需要轉(zhuǎn)換的ISO鏡像柬讨,本文以CentOS 7.1為例崩瓤;
其次,進(jìn)入裝好的系統(tǒng)踩官,到根目錄下面我們可以看到如下文件夾
其中/proc却桶、/sys、/run蔗牡、/dev這幾個目錄都是系統(tǒng)啟動時自動生成的颖系,雖然也屬于文件系統(tǒng)一部分,但是他們每次開機(jī)都會有變化辩越,所以打包的時候就應(yīng)該忽略它們嘁扼。
0x02 打包系統(tǒng)
按照上面參考文章操作也可以,或者直接運(yùn)行下面命令
# tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .
命令運(yùn)行完成后再/tmp目錄生成了一個system.tar文件黔攒,如果tar文件太大的話趁啸,也可以繼續(xù)壓縮成tar.gz格式强缘。
就可以把打包好的文件導(dǎo)入到docker了。
0x03 導(dǎo)入docker
tar文件導(dǎo)入到docker方法很多不傅,下面兩種辦法測試了都可以
導(dǎo)入成功后旅掂,接下去就可以運(yùn)行容器了
# docker run -t -i centos:7.1 /bin/bash
鏡像做好之后就可以push到docker hub上了,不過我發(fā)現(xiàn)做好的鏡像還是挺大的有1.4G访娶,這樣push的時候就會很慢很慢商虐。
后面再分享一篇在本地搭建一個私有倉庫。這樣就解決了push慢的問題