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

Docker 是一个开源的容器化平台,用于构建、部署和运行应用程序的容器。
它通过轻量级虚拟化技术,让开发者可以在任何支持Docker的环境中以一致的方式运行应用。
核心思想是:“一次构建,到处运行”。
Docker工作原理
Docker的运行原理,重点围绕镜像 (Images)、容器 (Containers) 和 仓库 (Registries/Repositories) 这三个核心。
如下图所示:

Docker镜像
Docker镜像是一个轻量级、独立的可执行软件包,包含了运行一个软件所需的所有内容:代码、运行时环境、库、环境变量和配置文件。
你可以把它想象成应用程序及其所有依赖项的一个“静态快照”或者“安装包”。
Docker Image ├── Layer 1:FROM ubuntu ├── Layer 2:RUN apt install nginx ├── Layer 3:COPY index.html /var/www └── ... 最终构成一个多层镜像
Docker容器
容器(Container)是镜像的一个运行实例,相当于“类”的实例对象。

容器是镜像的可写运行环境,启动时在镜像之上创建一个可写层。
容器内运行的进程拥有独立的命名空间和资源限制,实现进程隔离和资源控制。
容器是动态的,可以启动、停止、删除,其生命周期与其可写层绑定,容器删除时该层也会消失。
Docker仓库
仓库(Registry),是存储和管理镜像的地方,类似代码仓库。
用户可以将镜像推送(push)到仓库,也可以从仓库拉取(pull)镜像。
仓库支持公共和私有两种形式,Docker Hub是最大的公共仓库。

以上