docker容器和镜像理解

shawnhu shawnhu     2023-01-01     293

关键词:

1、镜像是Docker容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。容器和镜像是一对一的,一个容器里就运行一个镜像。

 

1、base镜像----提供了一个基本的操作系统环境,用户可以根据需要安装和配置软件。
2、base镜像通常是各种Linux发行版的Docker镜像比如ubuntu、Debian、centos等。
3、base镜像只是在用户空间与发行版一致,kernel版本与发行版是不同的。比如说虚机系统是ubuntu14.04,运行一个容器是centos系统的,那么centos使用的其实就是本虚机的kernel。
容器只能使用本地虚机的kernel且不能修改。

 

1、每一个镜像都会有一个文本文件Dockerfile,定义了如何构建Docker镜像。编写Dockerfile文件有专门的讲解,百度一下~

2、镜像的分层结构:DockerHub中绝大多数的镜像都是通过在base镜像中安装和配置需要的软件构建出来的。base镜像是from scratch开始,新镜像是直接在base镜像上构建from centos......
新镜像是从base镜像一层一层叠加生成的,每安装一个软件就等于在现有的镜像上增加一层。
3、Docker镜像采用分层结构的好处就是共享资源。

 

1、可写的容器层:当容器启动时,一个新的可写层被加载到镜像的顶部,这一层就叫容器层,容器层之下都叫镜像层。只有容器层是可写的,容器层下面的所有镜像层都是只读的。对容器的任何改动都只会发生在容器层中。
这里,所有的镜像层联合一起组成一个统一的文件系统,用户在容器层看到的就是一个叠加之后的文件系统。镜像层内部是有上下之分的:

- 添加文件:在容器中创建文件时,新文件被添加到容器层中。
- 读取文件:当在容器中读取某个文件时,Docker会从上往下依次在各镜像层中查找此文件,一旦找到打开并读入内存。
- 修改文件:在容器中修改已存在的文件时,Docker会从上往下依次在各个镜像层中查找此文件,一旦找到立即将其复制到容器层中,然后才修改。(copy-on-write特性)
- 删除文件:在容器中删除文件时,Docker会从上往下依次在镜像层中找,找到后,会在容器层记录下此删除操作。
copy-on-write特性说明容器层保存的是镜像变化的部分,不会对镜像本身进行任何修改。所以镜像可以被多个容器共享。











10张图带你深入理解docker容器和镜像

...的话】本文用图文并茂的方式介绍了容器、镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker。这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image... 查看详情

docker容器和镜像区别

docker容器和镜像区别 这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。 当我对Docker技术还是一知半解的时候,我发现理解Dock... 查看详情

docker入门容器与镜像的理解

10张图带你深入理解Docker容器和镜像申明:此篇文章是转载的(原文地址http://dockone.io/article/783),今天意外发现已经有人转载了(复制了),希望大家关注原创原本打算将该文章修改为markdown格式,但图片问题有点困扰我,干脆先将... 查看详情

docker容器和镜像区别

这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。 当我对Docker技术还是一知半解的时候,我发现理解Docker的命令非常困难。于是... 查看详情

理解docker:docker镜像

本系列文章将介绍Docker的有关知识:(1)Docker安装及基本用法(2)Docker镜像(3)Docker容器的隔离性(4)Docker容器的网络(5)Docker容器的存储  对于每个软件,除了它自身的代码以外,它的运行还需要有一个运行环境和... 查看详情

docker:理解docker镜像与容器

...在另一个磁盘上存在完全相同的副本即为镜像。  2、Docker镜像概念:    在Docker中镜像同样是一种完全相同的副本,以广泛的镜像来理解就很简单了,Docker虽然在Linux系统中,但是内部又完全和Linux系统隔开。所以我们可... 查看详情

深入理解docker的镜像和容器

...下面一层,其他层都会有一个指针指向下一层,这些层是docker内部的实现细节,并且能够在主机(运行docker的机器)的文件中访问到,统一文件系统技术(unionfilesystem)能够将不同层合成一个文件系统,为这些层提供一个统一的... 查看详情

10张图带你深入理解docker容器和镜像(代码片段)

这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。ImageDefinition镜像(Image)就是一堆只读层(read-onlylayer)的统一视角,也许这个定义... 查看详情

docker镜像原理学习理解(代码片段)

Docker镜像原理学习理解一、Docker镜像的组成1.Docker镜像图层2.unionfilesystem3.镜像层-bootfs4.镜像层-rootfs5.镜像层-依赖环境6.容器层二、docker镜像小结三、进入容器空间四、定义容器镜像五、容器层介绍一、Docker镜像的组成1.Docker镜像... 查看详情

理解docker:docker镜像

 对于每个软件,除了它自身的代码以外,它的运行还需要有一个运行环境和依赖。不管这个软件是象往常一样运行在物理机或者虚机之中,还是运行在现在的容器之中,这些都是不变的。在传统环境中,软件在运行之前也需... 查看详情

docker镜像管理1之镜像和容器的区别

之所以在之前没有讲什么是镜像和容器是因为如果你没有一个最初的认识,那么你就很难理解镜像和容器以及它们的区别。我相信在前面一章中的讲述中,你应该稍有体会容器是基于镜像构建的,同时构建了容器之后如果不删除... 查看详情

理解docker镜像(代码片段)

理解Docker镜像Dockerimage概念介绍简单来说,Dockerimage是用来启动容器的只读模板,是容器启动所需要的rootfs,类似于虚拟机所使用的镜像。首先需要通过一定的规则和方法Dockerimage。Remote-dockerhub.com/namespace/bar:latestDocker... 查看详情

深刻理解docker镜像大小

都说容器大法好,可是假设没有Docker镜像,Docker该是多无趣啊。是否还记得第一个接触Docker的时候,你从DockerHub下拉的那个镜像呢?在那个处女镜像的基础上。你执行了容器生涯的处女容器。镜像的基石作用已经非常明显。在Doc... 查看详情

docker知识-1

...的话】本文用图文并茂的方式介绍了容器、镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker。这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并... 查看详情

docker基础知识和命令使用入门(代码片段)

本文介绍了Docker相关的基础知识和命令的简单使用。基础知识部分包括Docker的用途和意义,Docker的镜像、容器、仓库、Dockerfile和DockerCompose的理解,以及Docker图形管理工具Portainer的基础功能。Docker命令的使用包括镜像使用、容器... 查看详情

docker的技术细节和实现原理

Docker内部要理解Docker内部构建,需要理解以下三种部件:Docker镜像-DockerimagesDocker仓库-DockerregisteriesDocker容器-DockercontainersDocker镜像Docker镜像是Docker容器运行时的只读模板,每一个镜像由一系列的层(layers)组成。Docker使用UnionFS来将... 查看详情

docker架构,镜像及容器(代码片段)

Docker的核心概念镜像Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板,比如:一个镜像可以是一个完整的Centos操作系统环境,称为一个Centos镜像;可以是一个安装了MYSOL的应用程... 查看详情

第一天docker入门

【01入门】  docker最核心为三部分组成镜像,仓库和容器  镜像:一个只读的模板  仓库:代码仓库,镜像的集合  容器:镜像的实例化进程我们可以这样理解容器就是一个沙箱,docker利用容器运行和隔离应用,每个容... 查看详情