返回顶部
首页 > 资讯 > 精选 >Docker和容器镜像的区别是什么
  • 360
分享到

Docker和容器镜像的区别是什么

2023-06-04 17:06:36 360人浏览 独家记忆
摘要

本篇文章为大家展示了Docker和容器镜像的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。很多刚刚接触容器技术的朋友,不容易弄清楚容器,容器镜像和Docker这几个词的区别和联系。我们首先

本篇文章为大家展示了Docker容器镜像的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

很多刚刚接触容器技术的朋友,不容易弄清楚容器,容器镜像和Docker这几个词的区别和联系。

Docker和容器镜像的区别是什么

我们首先来看容器和容器镜像。举个例子,执行命令行docker search Nginx,搜索结果的一条条记录就是一个个容器镜像。

Docker和容器镜像的区别是什么

所谓镜像,就是一个静态概念,一个镜像由若干只读层(read-only layer)构成。

Docker和容器镜像的区别是什么

上图左边是Docker镜像的内部实现细节,我们能看到多个只读层叠加在一起,层与层之间通过指针关联,这些层能够在运行Docker的宿主机的文件系统上访问到。

linux的统一文件系统(uNIOn file system)技术将这些叠加的只读层合并成一个文件系统,该系统为这些只读层提供了一个统一的视角,从而为Docker的用户隐藏了多层的存在。

从Docker用户的视角出发,一个Docker镜像只存在一个文件系统,即上图右边所示。

这些文件系统的设计是Docker实现细节,一般情况下我们不用去深究。但如果您足够好奇,使用命令sudo tree浏览目录 /var/lib/docker即可:

Docker和容器镜像的区别是什么

比如我用命令docker images浏览下载到本地的docker镜像:

Docker和容器镜像的区别是什么

其中一个叫jerry-nginx的镜像,是一个WEB应用,它的所有内容能在/var/lib/docker目录下的这个目录查到:

Docker和容器镜像的区别是什么

讲完了容器镜像,我们再来看容器。

Docker和容器镜像的区别是什么

容器和容器镜像一样,也是若干层的叠加,唯一区别是所有只读层的最上面一层,是一层可读可写层,如上图绿色图例所示。

初学者可以记住这个简单的公式:容器 = 容器镜像 + 可读可写层

Docker和容器镜像的区别是什么

我们如果用命令docker ps --all查看本机所有容器列表,会发现有的容器处于运行状态,有的处于退出状态。

因此,一个处于运行状态的容器(running container)包含一个可读写的文件系统加上隔离的进程空间。

容器里的进程可以对这个可读写文件系统内的文件进行修改、删除、创建等操作。

镜像里每一层其实都能在docker文件夹的containers子目录下找到:

Docker和容器镜像的区别是什么

上图每一个红色文件夹代表镜像里的一层,蓝色文件包含了该层运行时的日志文件,或者网络相关配置等。

做个实验:

Docker和容器镜像的区别是什么

ubuntu这个容器执行结束后,使用find / -name i042416.txt文件,这说明docker运行时能对宿主机的文件系统进行写操作。

Docker和容器镜像的区别是什么

下面分析几个常用的易混淆的命令。

docker create <image-id>

先看它的帮助文档:

Docker和容器镜像的区别是什么

试着执行以下:

Docker和容器镜像的区别是什么

产生一个输出id:

7ee10851c3f1e53bbd35e5f196f34de560afa1a20d9bf1ced587630dbcda877b

create创建的容器,状态变为created:

Docker和容器镜像的区别是什么

docker create命令给通过命令行传入的容器镜像创建了一个新的可读可写层,从而生成了一个新的容器实例:

Docker和容器镜像的区别是什么

然后再执行docker start,输入docker create创建的容器实例ID,就可以启动这个容器实例了。

而docker run其实就是docker create和docker start这两个命令合二为一的版本。

上述内容就是Docker和容器镜像的区别是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: Docker和容器镜像的区别是什么

本文链接: https://lsjlt.com/news/238583.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker和容器镜像的区别是什么
    本篇文章为大家展示了Docker和容器镜像的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。很多刚刚接触容器技术的朋友,不容易弄清楚容器,容器镜像和Docker这几个词的区别和联系。我们首先...
    99+
    2023-06-04
  • docker中容器与镜像的区别是什么
    本篇文章为大家展示了docker中容器与镜像的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是镜像?镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AU...
    99+
    2023-06-15
  • docker容器和镜像有哪些区别
    Docker容器和镜像是Docker技术中的两个重要概念,它们有以下区别:1. 镜像是一个只读的模板,包含了运行环境和所需的软件工具...
    99+
    2023-10-19
    docker
  • Docker镜像和Docker容器的关系是什么
    本篇内容主要讲解“Docker镜像和Docker容器的关系是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker镜像和Docker容器的关系是什么”吧...
    99+
    2024-04-02
  • 聊聊docker中容器与镜像的区别
    什么是镜像? 镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指...
    99+
    2024-04-02
  • Docker镜像与容器的工作原理是什么
    本篇内容介绍了“Docker镜像与容器的工作原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一. bootfs和rootfs通常而言...
    99+
    2023-06-30
  • Docker镜像和容器之间有什么关系
    Docker镜像是一个只读的模板,用于创建Docker容器。Docker容器是Docker镜像的运行实例。镜像可以看作是一个类,而容...
    99+
    2024-04-02
  • 镜像服务器和根服务器的区别是什么
    1、功能不同镜像服务器主要用于存储和分发软件、系统镜像等文件,用户可以通过镜像服务器下载这些文件,以提高下载速度和稳定性;而根服务器...
    99+
    2023-05-13
    镜像服务器 服务器
  • docker容器怎么更新镜像
    要更新 Docker 容器的镜像,可以按照以下步骤进行操作: 首先,查找当前正在运行的容器的 ID: docker ps 然...
    99+
    2024-04-08
    docker
  • k8s和docker区别是什么
    k8s和docker区别是:1、抽象层次不同,Docker提供一种容器化的技术,而Kubernetes提供一个容器编排和管理的平台;2、管理范围不同,Docker主要用于本地开发和单主机环境中的容器管理,而Kubernetes适用于多主机或...
    99+
    2023-07-24
  • 云服务器系统镜像和应用镜像的区别
    数据安全性不同:系统镜像是经过预处理的完整系统,而应用镜像是不经过预处理的,存在被攻击的风险。 应用场景不同:系统镜像适用于小规模的部署,应用镜像适用于大规模的部署,而且需要用户手动配置,管理成本较高。 部署方式不同:系统镜像需要在服务器...
    99+
    2023-10-27
    镜像 区别 服务器
  • Docker镜像的commit操作是什么
    这篇文章主要介绍“Docker镜像的commit操作是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Docker镜像的commit操作是什么”文章能帮助大家解决问题。Docker 镜像是什么&n...
    99+
    2023-06-30
  • docker删除所有容器和镜像命令
    删除容器需要先停止后remove:# docker stop $(docker ps -a -q)a679aa25d419d6f061600581a1fc78352ff1fdb3718b8ad13488a417dcf0ada453d6f21...
    99+
    2023-06-05
  • 怎么构建自己的docker容器镜像
    本文小编为大家详细介绍“怎么构建自己的docker容器镜像”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么构建自己的docker容器镜像”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一. 设置docker构建...
    99+
    2023-07-05
  • 数据库镜像和复制有什么区别
    这篇文章主要介绍数据库镜像和复制有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是数据库镜像?数据库镜像是指创建和维护数据库的冗余副本的技术,镜像副本始终与主体数据库同步...
    99+
    2024-04-02
  • docker镜像分层的方法是什么
    Docker镜像分层是通过使用Union文件系统(UnionFS)实现的。UnionFS是一种轻量级的...
    99+
    2023-09-16
    docker
  • docker镜像挂载的方法是什么
    在Docker中,可以通过 -v 或 --volume 参数来挂载本地文件或目录到容器中。具体的方法如下: 将本地文件挂载到容器中...
    99+
    2024-03-05
    docker
  • docker怎么使用镜像创建容器
    要使用Docker创建容器,首先需要一个Docker镜像。可以使用以下命令从Docker Hub获取一个镜像并创建一个容器: 搜索...
    99+
    2024-04-02
  • docker和虚拟机的区别是什么
    Docker和虚拟机都是用来实现虚拟化的技术,但它们有一些区别: 虚拟机是通过在物理服务器上运行一个完整的操作系统来实现虚拟化,...
    99+
    2024-04-09
    docker 虚拟机
  • Docker镜像制作方法是什么
    Docker镜像制作方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Docker Image 的制作两种方法方法 1:docker commit&n...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作