docker images 如何建立自己的原生镜像

制作image原生镜像需要使用febootstrap工具,需要注意的是,在centos7系列中,默认的源中不带此包,但是在centos6系列中,该包是默认可用使用的。

在centos6中安装febootstrap

# yum install febootstrap -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.rpm fakeroot-libs-1.12.2-22.2.el6.x86_64.rpm 
 febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm
此时会生成一个命令febootstrap

使用febootstrap工具构建基础镜像:

#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参数表示安装包,centos6.8为image版本,centos6.8-doc为生成镜像的目录,后面的url为镜像源地址。

接下来很快就会构建完成,然后生成一个基础镜像:

# 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目录里面已经包含了linux系统的基本文件系统。其实生成这样一个目录就相当于已经是一个基本的linux镜像了,只需要打包并分发到docker主机,并构建成相应的docker image就可以使用了。

使用docker工具导入此镜像:

不论在什么环境,首先进入centos6.8-doc目录,然后将镜像导入:

# 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

接下来使用这个镜像去创建和使用容器:

# 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) 
可以看到,当前的image镜像就是当时创建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就已经做好了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

标签:
docker,images,docker,images自己创建,docker,images定制

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“docker images 如何建立自己的原生镜像”

暂无“docker images 如何建立自己的原生镜像”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?