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

 更新时间:2017年04月05日 09:42:28   投稿:lqh  
这篇文章主要介绍了docker images 如何建立自己的原生镜像的相关资料,需要的朋友可以参考下

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容器中的PostgreSQL数据的图文实操教程

    备份Docker容器中的PostgreSQL数据的图文实操教程

    现在docker容器很方便,可以一键部署项目,但是方便部署的同时,也给运维带来了麻烦,docker中的pgsql数据,如何进行备份呢,本文小编给大家就介绍了备份Docker容器中的PostgreSQL数据的图文实操教程,需要的朋友可以参考下
    2024-09-09
  • 详解docker容器间通信的一种方法

    详解docker容器间通信的一种方法

    本篇文章主要介绍了详解docker容器间通信的一种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 查看docker是否处于启动状态的方法详解

    查看docker是否处于启动状态的方法详解

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,本文主要给大家介绍了查看docker是否处于启动状态的方法,需要的朋友可以参考下
    2024-06-06
  • docker环境下分布式运行jmeter的教程详解

    docker环境下分布式运行jmeter的教程详解

    这篇文章主要介绍了docker环境下分布式运行jmeter的教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Docker镜像与容器的导入导出操作实践

    Docker镜像与容器的导入导出操作实践

    这篇文章介绍了Docker镜像与容器的导入导出操作,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • docker swarm外部验证负载均衡时不生效的解决方案

    docker swarm外部验证负载均衡时不生效的解决方案

    这篇文章主要介绍了docker swarm外部验证负载均衡时不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • Docker打包前后端项目的实现示例

    Docker打包前后端项目的实现示例

    目前我们大多数服务应该会使用Docker来进行部署,本文主要介绍了Docker打包前后端项目的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • Docker完整卸载的两种方法详细教程

    Docker完整卸载的两种方法详细教程

    在使用Docker的过程中,有时我们需要卸载Docker以清理系统环境或进行重新安装,下面这篇文章主要给大家介绍了关于Docker完整卸载的两种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Docker部署Laravel应用实现队列&任务调度

    Docker部署Laravel应用实现队列&任务调度

    这篇文章主要介绍了Docker部署Laravel应用实现队列&任务调度,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • docker部署Prometheus+Cadvisor+Grafana实现服务器监控

    docker部署Prometheus+Cadvisor+Grafana实现服务器监控

    这篇文章主要为大家介绍了docker部署Prometheus+Cadvisor+Grafana实现服务器监控,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论