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. java中Map集合的理解

    Map |--Hashtable:底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.jdk1.0.效率低. |--HashMap:底层是哈希表数据结构,允许使用 null 值和 ...

  2. CentOS 7 安装 .Net Core 2.0 详细步骤

    轰轰烈烈的Core 热潮,从部署环境开始.参照了网上不少前辈的教程,也遇到不少的坑,这边做个完整的笔记. 一.构建.Net core 2的应用程web发布,因为是用来测试centos上的core 环境 ...

  3. 探秘小程序(10):分享功能+webview

    场景: 小程序页面用webview嵌入了h5页面,h5页面需要与小程序进行交互,h5页面内容不同,分享的链接也不一样 分享功能: 小程序的分享功能即用户点击小程序右上角,转发功能页面.可以指定分享卡片 ...

  4. SQLite 的 CodeFirst 模式

    目录 问题描述 解决方案 安装依赖包 修改程序配置 App.config 创建模型对象 Person.cs 创建数据上下文 PersonDbContext.cs 主程序调用 Program.cs 注意 ...

  5. 30个极大提高开发效率的Visual Studio Code插件

    译者按: 看完这篇文章,我打算从 Sublime Text 转到 Visual Studio Code 了! 原文: Immensely upgrade your development enviro ...

  6. sql server:Monty Hall problem (蒙提霍尔问题)

    --------------------------------------------------------------------- -- Auxiliry Table of Numbers 数 ...

  7. 洛谷P4007 小 Y 和恐怖的奴隶主(期望dp 矩阵乘法)

    题意 题目链接 Sol 首先不难想到一种暴力dp,设\(f[i][a][b][c]\)表示还有\(i\)轮没打,场上有\(a\)个1血,\(b\)个2血,\(c\)个三血 发现状态数只有\(s = 1 ...

  8. 使用 Java 8 语言功能

    Android Studio 3.0 及以上版本支持所有 Java 7 语言功能,以及部分 Java 8 语言功能(具体因平台版本而异). 本页介绍您可以使用的 Java 8 语言功能.如何正确配置项 ...

  9. Kotlin入门(10)七十二变的输入参数

    上一篇文章介绍了Kotlin对函数的基本用法,包括函数的定义.输入参数的声明.输出参数的声明等等,这些足够对付简单的场合了.当然了,倘若一门新语言仅仅满足于这些雕虫小技,那也实在没什么前途.既然Kot ...

  10. spring容器、BeanFactory、ApplicatContext、WebApplicationContext

    1.spring容器 BeanFactory提供了IoC的功能:ApplicatContext建立在BeanFactory的基础上 在初始化BeanFactory的实现类时,并没有实例化Bean,直到 ...