Docker与容器的区别

本文介绍了Docker容器和镜像的区别与关系。Docker容器利用镜像创建运行时环境,镜像是静态的文件系统包含应用所需的所有元素。相比虚拟机,Docker容器更轻量、启动快速且资源占用少。Dockerfile用于构建镜像,镜像可从仓库下载,容器则提供运行时环境并可在停止后保留数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

容器

 

虚拟机和容器结构主要区别在于中间两层,虚拟机自带了操作系统,这个操作系统可以和宿主机一样,也可以不一样,而容器是和宿主机共享一个操作系统。我们知道,操作系统的内容是很多的,就像我们自己电脑上的操作系统一样,占用的内存很多,启停很慢,而且如果虚拟机安装的操作系统有更新,那更新也很麻烦,而且购买正版操作系统也是一笔不小的费用。而容器则没有这些烦恼,所以容器相对于虚拟机而言,既可以提供独立的软件运行环境,占用内存也小,启停速度快,操作更简单,更轻量级。

Docker

Docker不等同于容器,它是基于容器技术开发的一个应用,docker包含了运行一个应用程序所需要的所有东西,包括:代码、运行时、各种依赖和配置。那么这里面的代码、依赖、配置就是docker镜像包含的内容,而运行镜像里的内容则是容器做的事情,也就是运行时。
Docker镜像

Docker镜像是一个文件系统,上文提到,其中包含了应用程序运行时所需的源代码、依赖、配置等。我们自身的应用代码可以根据dockerfile构建出一个镜像,然后上传到镜像仓库。docker提供了公有镜像仓库docker hub,这里面的镜像可以供所有人下载使用。可以将镜像理解为软件安装包,下载之后就开箱即用。Docker容器里的镜像是可以层层叠加的,比如运行我们的应用程序,需要使用mysql数据库,需要python运行环境,那么docker容器里只要要有mysql镜像、python镜像、我们自己的应用程序镜像。Docker镜像是静态的,像软件安装包一样,没有运行环境是不可以运行的,那么docker容器就提供了这样一个运行环境。
Docker容器

Docker容器就是容器,在docker里,提供了运行docker镜像的运行时环境。运行容器时,在镜像层上面增加了一个读写层,可以对运行的容器做一些更改,但这些更改不会对镜像产生影响,如果关闭或删除容器后,这些更改也不会保存。那么如果保存运行时的一些数据,进行持久化存储,那就是卷(volume)做的事情,这是docker里的另一个概念,这里不做详述。
镜像和容器的关系

由上文描述可见,Docker容器和docker镜像都是docker系统的一部分,密切相关。镜像可以独立于容器存在,但容器得依赖于镜像,容器利用镜像来构建一个运行时环境以此运行一个应用程序。利用docker运行应用程序的过程一般如下:编写应用程序–》编写dockerfile–》根据dockerfile构建镜像–》上传镜像到镜像仓库–》使用docker容器运行该镜像。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值