通过Dockerfile创建镜像时,一般都是基于 Docker Hub 提供的官方镜像。以下分别介绍在ubuntu16和centos7 两个系统上创建个人私有基础镜像的方法。

 一、ubuntu16创建docker基础镜像

  1、安装Bootstrap工具debootstrap

$ sudo apt-get insall debootstrap -y

  2、使用debootstrap下载ubuntuxenial(16.04)二进制文件

$ sudo debootstrap xenial xenial 

  3、使用docker import命令创建基础镜像
    1)导入xenial目录下的镜像

# tar -C trust -c . 命令用于将xenial目录下的内容压缩为一个文件,并输出至stdout。通过|(管道)可以将输出内容传递给docker import命令。

$ sudo tar -C xenial -c . | sudo docker import - xenial

    2)导入网络上的文件

$ sudo docker import http://test.com/trust.tgz xenial

  4、输出镜像

$ docker images

  5、运行镜像xenial

 $ docker run -i -t --name hello xenial /bin/bash

二、centos7创建Docker基础镜像

  1、安装febootstrap

    1) 下载febootstrap   

# 由于centos7不支持直接安装:yum install febootstrap,故提供以下下载链接

下载 febootstrap  密码:vrck

    2)安装febootstrap

# 安装顺序如下:
$ sudo rpm -ivh fakeroot-libs-1.12.2-22.2.el6.x86_64.rpm
$ sudo rpm -ivh fakechroot-libs-2.9-24.5.el6_1.1.x86_64.rpm
$ sudo rpm -ivh fakeroot-1.12.2-22.2.el6.x86_64.rpm
$ sudo rpm -ivh febootstrap-supermin-helper-3.21-4.el6.x86_64.rpm
$ sudo rpm -ivh fakechroot-2.9-24.5.el6_1.1.x86_64.rpm
$ sudo rpm -ivh febootstrap-3.21-4.el6.x86_64.rpm

  2、使用febootstrap工具下载centos7二进制文件

$ sudo febootstrap -u http://mirrors.163.com/centos/7/updates/x86_64/ centos7 centos7 http://mirrors.163.com/centos/7/os/x86_64/

  3、使用docker import 创建基础镜像

$ sudo tar -C centos7 -c . | sudo docker import - centos7

  4、输出镜像

 $ docker images

  5、运行镜像

$ docker rum -i -t --name hello centos7 /bin/bash

PS: 据说centos6的febootstrap工具在centos7已经改成了supermin,有机会不妨试试。

linux 创建docker基础镜像的更多相关文章

  1. 中标麒麟龙芯平台--docker基础镜像制作

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 的出现为开发人员和运维人员带来了极大的便利.Docker在X86下常见的发行版Linux如Ub ...

  2. 庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署

    庐山真面目之九微服务架构 NetCore 基于 Docker 基础镜像和挂载文件部署 一.简介      我们在上一篇文章<庐山真面目之八微服务架构 NetCore 基于 Dockerfile ...

  3. Docker学习笔记之创建Ubuntu基础镜像

    在创建基础镜像之前需要安装Bootstrap工具debootstrap,所以执行命令: sudo apt install debootstrap 软件安装完成后就可以使用debootstrap工具下载 ...

  4. 从零开始构建docker基础镜像

    段子 今年基本已经结束了,我问了很多朋友今年挣钱了没?大多朋友都有挣,而且挣得五花八门:有挣个屁的,有挣个锤子的,有挣个毛的,更有甚者挣个妹的,奢侈之极!最恐怖的是挣个鬼的!有的还可以,挣个球,下午我 ...

  5. Docker 基础 : 镜像

    目录 获取镜像 查看镜像信息 搜索镜像 删除镜像 创建镜像 导出和导入镜像 上传镜像 总结 镜像是 Docker 的三大核心概念之一.Docker 运行容器前需要本地存在对应的镜像,如果本地没有对应的 ...

  6. 测试环境docker化(一)—基于ndp部署模式的docker基础镜像制作

    本文来自网易云社区 作者:孙婷婷 背景 我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏 ...

  7. 尝试自己建立以alpine 为基础的docker基础镜像和组件镜像

    安装ubuntu14.04 然后 #获取root权限 sudo su #安装docker apt-get install docker #准备基础镜像 docker pull alpine docke ...

  8. howto:在构建基于debian的docker基础镜像时,更换国内包源

    debian经常被用作构建应用镜像的基础镜像,如微软在构建linux下的dotnetcore基础镜像时,提供了基于debian 8(jessie)和debian 9(stretch)的镜像. 由于这些 ...

  9. 创建自己的docker基础镜像

    1.下载镜像 centos7 docker pull centos: 2.创建容器加载镜像 docker run -i -t --name centos7 centos: docker run 参数详 ...

随机推荐

  1. [STL]vector与排序算法

    vector与算法 头文件中包含大量与 vector 相关的算法,这些算法同样适用于其它容器,比如 std::list 等. 排序(Sort) 相关函数: std::sort :普通排序 defaul ...

  2. [Linq] ORM

      orm  对象关系映射框架,主要将关系数据库中的数据 ,映射成应用程序的对象.表为类名,列为类的字段. ADO.NET entity framework   在ADO.NET基础上发展出来的对象关 ...

  3. Hbase 使用方法

    列出所有 table¶ hbase(main):> list 新增 table¶ A . 直接增加一個表 t2 hbase(main):> create 't2' B . 增加一個擁有 ' ...

  4. windows7安装PyQt5(通过pip install 安装)

    开始接触PyQt5 ,总结了一下安装的方法 默认各位已经安装好了Python环境 首先,确定一下之前没有安装过pyqt5,如果安装了,可以先卸载,避免出现意外, 之前装了几次没成功就是这种情况,卸载命 ...

  5. LeetCode OJ:Combination Sum III(组合之和III)

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  6. 数据库迁移到Azure SQL Database用户无法登陆的问题

    业务情景:数据库是运维迁移上去的,好像使用了一个工具叫做Microsoft Data Migration Assistant,迁移之后,我的web应用无法连接数据库. 迁移之后的数据库内有User,但 ...

  7. 浅学soap--------4

    引入nusoap Service.php //运行该文件,在网页中wsdl点击,可浏览生成的wsdl代码;网页提供注册的方法 <?php require_once ("nusoap/n ...

  8. fastCGI模块

    这个模块允许nginx同FastCGI协同工作,并且控制哪些参数将被安全传递.例: location / { fastcgi_pass localhost:9000; fastcgi_index in ...

  9. mvc那些事

    mvc的特点: 1.无控件,有HtmlHelper类,此类提供了各种生成html控件的方法.如果不能满足需要,就自定义扩展吧,比如说分页显示.HtmlHelper类提供了Partial(加载局部视图) ...

  10. bzoj 2013: A huge tower 数学

    题目: 有\(N(2\leq N\leq 620000)\)块砖,要搭一个\(N\)层的塔,要求:如果砖\(A\)在砖\(B\)上面,那么\(A\)不能比\(B\)的长度\(+D\)要长.问有几种方法 ...