Docker 是什么?

目录

[Docker 是一个开源的应用容器引擎](#Docker 是一个开源的应用容器引擎)

[Docker 镜像(Images)](#Docker 镜像(Images))

[Docker 容器(Containers)](#Docker 容器(Containers))

[Docker 仓库(Registry)](#Docker 仓库(Registry))

三者关系


Docker 是一个开源的应用容器引擎


Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,并几乎可以在任何支持的平台上运行

Docker利用Linux内核的功能(如Cgroups和namespaces)来实现对进程的隔离,使得每个容器都在独立的环境中运行。这种技术不仅使得容器本身轻便、快速,而且能够在不同的基础设施之间无缝迁移。

Docker的核心包括三个部分:镜像(Image)、容器(Container)和仓库(Registry)。镜像是一种轻量级的、可执行的包,包含运行应用程序所需的代码、运行时、库、环境变量和配置文件。容器则是镜像的运行时实例,它在隔离的环境中运行,并且可以轻松地创建、启动、停止和删除。而仓库则用于存放和分发这些镜像,允许用户从中央仓库拉取或推送镜像。

Docker 镜像、容器和仓库是 Docker 核心技术的三个基本概念,它们之间存在着密切的关系

Docker 镜像(Images)

  • 定义与性质:Docker 镜像是一个只读模板,包含了运行应用程序所需的代码、运行时环境、库、环境变量、配置文件以及设置。镜像可以在多个环境中保持一致性,确保应用程序的运行不受环境差异的影响。
  • 创建与层次结构:镜像采用分层结构,每一层叠加在一起形成最终的镜像。底层通常为操作系统的基础层,之上的每一层添加额外的功能或依赖。这种结构使得镜像的创建和修改更为高效,因为只有在发生变化的层需要重新构建。

Docker 容器(Containers)

  • 定义与性质:Docker 容器是镜像的运行实例,具有独立的运行环境和网络空间。每个容器都是相互隔离的,运行于自己的执行环境中,不受其他容器影响。
  • 生命周期管理:容器可以从镜像创建,并且可以在几秒钟内启动或停止。Docker 提供了丰富的命令来管理容器的整个生命周期,包括创建、启动、暂停、重启和移除等操作。

Docker 仓库(Registry)

  • 定义与功能:Docker 仓库是一个存储和分发镜像的服务。用户可以从仓库中拉取已经创建好的镜像,或者将自己的镜像推送到仓库中供他人使用。
  • 中心与私有仓库:Docker Hub 是 Docker 的官方中心仓库,提供了大量预先构建好的镜像。同时,用户也可以搭建私有仓库来存储内部使用的镜像,加强安全性和控制性。

三者关系

  • 镜像与容器的关系:镜像是构建容器的基础,每个容器都是通过镜像启动的实例。镜像是只读的,而容器则在其基础上添加了可写层。
  • 容器与仓库的关系:仓库是存放和分发镜像的地方,容器可以通过拉取仓库中的镜像来创建。同样,更新后的容器可以生成新的镜像并推送回仓库中。
  • 镜像与仓库的关系:镜像是仓库的主要存储对象,仓库提供了版本控制和分发机制,使得镜像可以跨团队和项目共享。

Docker 的镜像、容器和仓库构成了其强大的容器化平台。镜像是构建和存储的基础元素,容器是镜像的动态运行实体,而仓库则是这两者之间的桥梁,提供存储和分发服务。这三者的关系紧密且清晰,共同支撑着 Docker 的容器化生态。

相关推荐
孙同学_几秒前
【Linux篇】软链接vs硬链接:Linux文件系统中的两种引用机制
linux·运维·服务器
hour_go10 分钟前
解决Linux系统中“undeclared identifier“问题的完整指南
linux·运维·服务器
饭来_25 分钟前
ubuntu 中使用 lftp 命令行工具传输文件
运维·ubuntu·nas
天赐细莲1 小时前
(Linux) WSL 通过 VSCode 连接不执行 profile 问题(登录Shell问题)
linux·运维·vscode
咬_咬1 小时前
Linux时间轮定时器
linux·运维·网络·定时器·timerfd
北京耐用通信1 小时前
打破协议壁垒:耐达讯自动化Modbus转Profinet网关实现光伏逆变器全数据采集
运维·人工智能·物联网·网络安全·自动化·信息与通信
dalianwawatou2 小时前
U盘配置ubuntu服务器-安装docker-镜像安装gitlab并且能够使用
运维·服务器·ubuntu
奋斗的蛋黄2 小时前
K8s 核心三组件:kubelet、kubeadm、kubectl 知识点梳理
云原生·容器·kubernetes
MC皮蛋侠客2 小时前
Ubuntu禁用系统手势,阻止应用程序异常最小化
linux·运维·qt·ubuntu
颇有几分姿色2 小时前
Ubuntu 系统安装教程(二):系统安装
linux·运维·ubuntu