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. Maven教程3(依赖管理)

    Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Mo ...

  2. RocketMQ的broker启动失败解决

    RocketMQ的broker用如下命令启动: nohup sh bin/mqbroker -n localhost:9876 & 使用jps查看,系统非常卡顿,broker的名字也未显示.使 ...

  3. Redis持久化存储与复制功能简述

    一.分布式系统基础理论 分布式系统的两个基础理论: 1.CAP理论 如图: Consistency(强一致性):数据一致更新,所有数据变动都是同步的.Availability(可用性):好的响应性能. ...

  4. 常用的NoSQL数据库类型简述

    一.文档存储类型(Document Stores) 文档存储,也称为面向文档的数据库系统,其主要特点在于它们的无模式的数据组织. 特点: 1.记录数据不需要具有统一的结构,即不同的记录可以具有不同的列 ...

  5. python argparse(参数解析模块)

    这是一个参数解析,可以用它快捷的为你的程序生成参数相关功能 import argparse(导入程序参数模块) # 创建argparse对象,并将产品简要说明加入show = '程序说明' ===&g ...

  6. Linux中rm命令详解

    linux下rm命令使用详解---linux删除文件或目录命令 用户可以用rm命令删除不需要的文件.该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除 ...

  7. jquery 截取屏幕

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  8. 8.中断按键驱动程序之poll机制(详解)

    本节继续在上一节中断按键程序里改进,添加poll机制. 那么我们为什么还需要poll机制呢.之前的测试程序是这样: ) { read(fd, &key_val, ); printf(" ...

  9. sublime text3快速生成html头部信息

    1.在网站开发过程中尤其写前台页面时要写头部很麻烦,怎么办呢?直接生成不更好吗? 这是快速生成的信息 2.方法: ctrl+shift+P打开命令面板 点击安装控制器 3.输入emmet 安装(以下图 ...

  10. Python全栈学习_day001知识点

    今日大纲: . 变量. ***** . 常量.** . 注释.*** . 基础数据类型初识(int,str,bool). ***** . 用户输入 input ***** . 流程控制语句if. ** ...