Docker是如何工作的?这篇底层原理讲透了!

Docker容器

在容器技术成为云原生基石的今天,Docker 几乎是所有开发者和运维工程师必须掌握的工具。

Docker是如何工作的?这篇底层原理讲透了!-mikechen

Docker 是一个开源的容器化平台,用于构建、部署和运行应用程序的容器。

它通过轻量级虚拟化技术,让开发者可以在任何支持Docker的环境中以一致的方式运行应用。

核心思想是:“一次构建,到处运行”。

 

Docker工作原理

Docker的运行原理,重点围绕镜像 (Images)、容器 (Containers) 和 仓库 (Registries/Repositories) 这三个核心。

如下图所示:

Docker是如何工作的?这篇底层原理讲透了!-mikechen

Docker镜像

Docker镜像是一个轻量级、独立的可执行软件包,包含了运行一个软件所需的所有内容:代码、运行时环境、库、环境变量和配置文件。

你可以把它想象成应用程序及其所有依赖项的一个“静态快照”或者“安装包”。

Docker Image
├── Layer 1:FROM ubuntu
├── Layer 2:RUN apt install nginx
├── Layer 3:COPY index.html /var/www
└── ... 最终构成一个多层镜像

 

Docker容器

容器(Container)是镜像的一个运行实例,相当于“类”的实例对象。

Docker是如何工作的?这篇底层原理讲透了!-mikechen

容器是镜像的可写运行环境,启动时在镜像之上创建一个可写层。

容器内运行的进程拥有独立的命名空间和资源限制,实现进程隔离和资源控制。

容器是动态的,可以启动、停止、删除,其生命周期与其可写层绑定,容器删除时该层也会消失。

 

Docker仓库

仓库(Registry),是存储和管理镜像的地方,类似代码仓库。

用户可以将镜像推送(push)到仓库,也可以从仓库拉取(pull)镜像。

仓库支持公共和私有两种形式,Docker Hub是最大的公共仓库。

Docker是如何工作的?这篇底层原理讲透了!-mikechen

以上

评论交流
    说说你的看法