docker最小的镜像——hello-world

下载镜像  docker pull

docker pull hello-world

查看镜像  docker images

docker images hello-world

运行镜像  docker run

docker基础镜像:自我感觉基础镜像Linux各种版本没有做过任何操作过的镜像

以centos为例

下载centos的镜像:docker pull centos

注:Linux的操作系统是由内核空间kernel和用户空间组成的;

内核空间:kernel,linux启动的时候会加载bootfs文件系统,之后bootfs会被卸载掉;

用户空间的文件系统是rootfs,包括/dev/,/proc,/bin等目录

对于docker的基础镜像来说,底层用的是Host的内核空间kernel,docker只需要提供rootfs。

note:不同的linux发行版的主要区别是rootfs不同

important  note:基础(base)镜像只是在用户空间与发行版一致,内核空间kernel不一定一致,容器的内核版本与底层Host保持一致,容器只能使用Host的内核版本,不能修改

启动并进入centos容器:docker run -it centos

镜像分层:

docker镜像都是通过在基础镜像上增加新的软件服务和配置一层一层构建出来的;这样可以资源共享

可写的容器层(copy-on-write):当容器启动时,新的可写层处于镜像顶部,这一层被称作“容器层”,容器层之下的都叫镜像层。所有对容器的改动--无论是添加,删除,还是修改文                                                        件,都只会发生在容器层

镜像层数量可能会很多,所有的镜像层联合在一起组成一个统一的文件系统

1.添加文件:在容器中添加文件时,新文件会被添加到容器层中

2.读取文件:在容器中读取文件时,会依次从上往下在镜像层中查找,一旦找到,打开并读入内存

3.修改文件:在容器中修改已经存在的文件时,Docker会依次从上往下查找文件,一旦找到,先将其复制到容器层,再进行修改

4.删除文件:在容器中删除文件时,Docker会依次从上层往下层找文件,一旦找到,先在容器层记录删除的操作,然后进行删除。

只有在修改的时候才会复制一份数据,这种特性被称作COPY-on-write

image镜像层的内容始终不会改变,是只读的。所有的增删改都是在容器的自己的空间进行的。

centos7下安装docker(2镜像)的更多相关文章

  1. centos7下安装docker与镜像加速

    1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...

  2. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  3. CentOS7下安装docker(Docker系列1)

    CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...

  4. centos7 下安装docker报错:You could try using...

    搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...

  5. Linux(centos7)下安装Docker

    近期公司开始推Docker技术.这个系列的文章都是基于CentOS7系统下进行讲解的. Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...

  6. Centos7下安装Docker(详细的新手装逼教程)

    早就听说过Docker,一直不清楚是个啥,今天捣鼓了一下,这里做个记录. --------------------------------------------------------------- ...

  7. Centos7下安装Docker[z]

    [z]https://www.cnblogs.com/qgc1995/p/9553572.html https://yq.aliyun.com/articles/691610?spm=a2c4e.11 ...

  8. Centos7下安装docker(1)

    1.确认系统没安装任何docker相关的安装包 yum remove docker docker-common docker-selinux docker-engine centos7的docker存 ...

  9. Docker学习系列(一)-CentOS7下安装Docker

    CentOS7下Docker的安装 一.操作系统要求 CentOS 7 64位 Kernel 3.10+ 本机系统信息 二.卸载旧版本 如果之前安排过旧版本的Docker,先卸载掉旧版Docker以及 ...

随机推荐

  1. spring的第一天

    spring的第一天 ssm框架 spring  Spring是什么? Spring是容器框架,用来配置(装)Bean,并且维护Bean之间的关系.其中Bean可以是Java中的任何一种对象,可以是J ...

  2. 鸟哥的Linux私房菜:基础学习篇 —— 第五章笔记

    1.Linux一般将文件可存取的身份分为三个类 别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限.其中 root 的权限最高. 2.在我们 ...

  3. [转]TFS2010 Team Project Collections

    本文转自:https://www.cnblogs.com/shanyou/archive/2010/04/14/1712252.html Team Foundation Server 2010有一个改 ...

  4. windows server 证书的颁发与IIS证书的使用

    最近工作业务要是用服务器证书验证,在这里记录下一. 1.添加服务器角色 [证书服务] 2.一路下一步直到证书服务安装完成; 3.选择圈选中的服务器证书 4.点击[创建证书申请] 5.填写信息 6.下一 ...

  5. Eclipse SVN 冲突的 介绍 及 四种解决方式

    https://blog.csdn.net/diyu122222/article/details/79879376

  6. Bootstrap学习记录-2.container和table

    1. Container Bootstrap中容器类提供了2个类标识:container.container-fluid. 两者的区别在于: container:容器不止有15px的padding,还 ...

  7. List排序Collections.sort 重写compare

    static List<Integer> intList = Arrays.asList(2,5,7, 3, 1); public static void main(String[] ar ...

  8. Adding a struct into an array(stackoverflow)

    Question: So lets say I have a struct like this: struct example_structure { int thing_one; int thing ...

  9. TestOps - 最健壮性的测试角色

    一十一 发表于 2018-03-02 09:10:08 TestOps   最具影响力的测试运维一体化综合平台. DevOps实现了从代码到服务的快速落地,而TestOps集成了DevOps效率,更是 ...

  10. SQL Server 基本INSERT语句

    1.基本INSERT语句,单行插入 如果没有列出列,则使一一对应. 2.多行插入 3.INSERT INTO ... SELECT 语句 要插入的语句是从其他表中查询出来的. 注意:数据类型得相同或者 ...