docker images 如何建立自己的原生镜像
dockerimages如何建立自己的原生镜像
制作image原生镜像需要使用febootstrap工具,需要注意的是,在centos7系列中,默认的源中不带此包,但是在centos6系列中,该包是默认可用使用的。
在centos6中安装febootstrap
#yuminstallfebootstrap-y 会安装相应的软件包: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.rpmfakeroot-libs-1.12.2-22.2.el6.x86_64.rpm febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm 此时会生成一个命令febootstrap
使用febootstrap工具构建基础镜像:
#febootstrap-ibash-iwget-iyum-iiputils-iiproutecentos6.8centos6.8-dochttp://mirrors.163.com/centos/6.8/os/x86_64/
需要注意的是,-i参数表示安装包,centos6.8为image版本,centos6.8-doc为生成镜像的目录,后面的url为镜像源地址。
接下来很快就会构建完成,然后生成一个基础镜像:
#lscentos6.8-doc binbootdevetchomeliblib64mediamntoptprocrootsbinselinuxsrvsystmpusrvar
可以看到生成的centos6.8-doc目录里面已经包含了linux系统的基本文件系统。其实生成这样一个目录就相当于已经是一个基本的linux镜像了,只需要打包并分发到docker主机,并构建成相应的dockerimage就可以使用了。
使用docker工具导入此镜像:
不论在什么环境,首先进入centos6.8-doc目录,然后将镜像导入:
#cdcentos6.8-doc #tar-c.|dockerimport-centos:6.8 f86315da0e5ddfdbc2aaf169d7f26cf9e071afb7df04bc207ff0d5b623221c8c 此时,便生成了一个镜像。 #dockerimages REPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZE centos6.8f86315da0e5d6secondsago392.9MB
接下来使用这个镜像去创建和使用容器:
#dockerrun-itd-Pcentos:6.8bash 45fc3313c92f8ef8b1fe841da580ca0759b82e54a507c3985dc1c65d6106e12d #dockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES 45fc3313c92fcentos:6.8"bash"20secondsagoUp19secondsdesperate_meitner #dockerexec-itdesperate_meitnercat/etc/redhat-release CentOSrelease6.8(Final) 可以看到,当前的image镜像就是当时创建6.8版本的 #dockerexec-itdesperate_meitneripa 1:lo:mtu65536qdiscnoqueuestateUNKNOWN link/loopback00:00:00:00:00:00brd00:00:00:00:00:00 inet127.0.0.1/8scopehostlo valid_lftforeverpreferred_lftforever inet6::1/128scopehost valid_lftforeverpreferred_lftforever 311:eth0: mtu1500qdiscnoqueuestateUP link/ether02:42:0a:00:00:25brdff:ff:ff:ff:ff:ff inet10.0.0.37/24scopeglobaleth0 valid_lftforeverpreferred_lftforever inet6fe80::42:aff:fe00:25/64scopelink valid_lftforeverpreferred_lftforever
到此,一个完整的基本的dockerimages就已经做好了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!