docker images 如何建立自己的原生鏡像
docker images 如何建立自己的原生鏡像
制作image原生鏡像需要使用febootstrap工具,需要注意的是,在centos7系列中,默認(rèn)的源中不帶此包,但是在centos6系列中,該包是默認(rèn)可用使用的。
在centos6中安裝febootstrap
# yum install febootstrap -y 會安裝相應(yīng)的軟件包:fakechroot-2.9-24.5.el6_1.1.x86_64.rpm 、 fakechroot-libs-2.9-24.5.el6_1.1.x86_64.rpm fakeroot-1.12.2-22.2.el6.x86_64.rpm fakeroot-libs-1.12.2-22.2.el6.x86_64.rpm febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm 此時會生成一個命令febootstrap
使用febootstrap工具構(gòu)建基礎(chǔ)鏡像:
#febootstrap -i bash -i wget -i yum -i iputils -i iproute centos6.8 centos6.8-doc http://mirrors.163.com/centos/6.8/os/x86_64/
需要注意的是,-i參數(shù)表示安裝包,centos6.8為image版本,centos6.8-doc為生成鏡像的目錄,后面的url為鏡像源地址。
接下來很快就會構(gòu)建完成,然后生成一個基礎(chǔ)鏡像:
# ls centos6.8-doc bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var
可以看到生成的centos6.8-doc目錄里面已經(jīng)包含了linux系統(tǒng)的基本文件系統(tǒng)。其實生成這樣一個目錄就相當(dāng)于已經(jīng)是一個基本的linux鏡像了,只需要打包并分發(fā)到docker主機(jī),并構(gòu)建成相應(yīng)的docker image就可以使用了。
使用docker工具導(dǎo)入此鏡像:
不論在什么環(huán)境,首先進(jìn)入centos6.8-doc目錄,然后將鏡像導(dǎo)入:
# cd centos6.8-doc # tar -c .|docker import - centos:6.8 f86315da0e5ddfdbc2aaf169d7f26cf9e071afb7df04bc207ff0d5b623221c8c 此時,便生成了一個鏡像。 # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos 6.8 f86315da0e5d 6 seconds ago 392.9 MB
接下來使用這個鏡像去創(chuàng)建和使用容器:
# docker run -itd -P centos:6.8 bash 45fc3313c92f8ef8b1fe841da580ca0759b82e54a507c3985dc1c65d6106e12d # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 45fc3313c92f centos:6.8 "bash" 20 seconds ago Up 19 seconds desperate_meitner # docker exec -it desperate_meitner cat /etc/redhat-release CentOS release 6.8 (Final) 可以看到,當(dāng)前的image鏡像就是當(dāng)時創(chuàng)建6.8版本的 # docker exec -it desperate_meitner ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 311: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 02:42:0a:00:00:25 brd ff:ff:ff:ff:ff:ff inet 10.0.0.37/24 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::42:aff:fe00:25/64 scope link valid_lft forever preferred_lft forever
到此,一個完整的基本的docker images就已經(jīng)做好了。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
備份Docker容器中的PostgreSQL數(shù)據(jù)的圖文實操教程
現(xiàn)在docker容器很方便,可以一鍵部署項目,但是方便部署的同時,也給運維帶來了麻煩,docker中的pgsql數(shù)據(jù),如何進(jìn)行備份呢,本文小編給大家就介紹了備份Docker容器中的PostgreSQL數(shù)據(jù)的圖文實操教程,需要的朋友可以參考下2024-09-09docker環(huán)境下分布式運行jmeter的教程詳解
這篇文章主要介紹了docker環(huán)境下分布式運行jmeter的教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10Docker鏡像與容器的導(dǎo)入導(dǎo)出操作實踐
這篇文章介紹了Docker鏡像與容器的導(dǎo)入導(dǎo)出操作,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03docker swarm外部驗證負(fù)載均衡時不生效的解決方案
這篇文章主要介紹了docker swarm外部驗證負(fù)載均衡時不生效的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Docker部署Laravel應(yīng)用實現(xiàn)隊列&任務(wù)調(diào)度
這篇文章主要介紹了Docker部署Laravel應(yīng)用實現(xiàn)隊列&任務(wù)調(diào)度,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09docker部署Prometheus+Cadvisor+Grafana實現(xiàn)服務(wù)器監(jiān)控
這篇文章主要為大家介紹了docker部署Prometheus+Cadvisor+Grafana實現(xiàn)服務(wù)器監(jiān)控,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11