Docker

一、Docker 是什么

Docker是一种"容器化(Containerization)平台"。

它的核心作用:

把应用程序 + 运行环境 + 依赖库 打包到一个容器里,然后在任何机器上稳定运行。

你可以把 Docker 理解成:

VM(虚拟机)的轻量版

程序运行的"标准集装箱"

"一次打包,到处运行"

二、为什么会有 Docker

先看传统开发的问题。

1. 环境不一致问题

比如:

你开发了一个 C++ 后端程序:

本地 Ubuntu 20 能跑

测试服务器 Ubuntu 22 崩了

同事电脑缺少某个库

Python 版本不一致

OpenSSL 版本不同

于是经典问题出现:

"我电脑上是好的啊!"

Docker 就是解决:

"环境一致性"

三、Docker 的核心思想

Docker 的思想非常简单:

把程序运行所需的一切:

代码

库

配置

运行环境

系统工具

全部打包。

形成:

Container(容器)

容器启动后:

无论在哪台机器:

云服务器

公司服务器

个人电脑

测试环境

结果都一样。

四、Docker 和虚拟机区别

虚拟机:

每个 VM 都有:

自己的操作系统

内核

驱动

非常重

例如:

一个 Ubuntu VM:

几 GB

启动几十秒

Docker 容器:

共享宿主机内核

不需要完整 OS

非常轻量

特点:

MB 级别

秒级启动

可同时运行大量容器

五、Docker架构

Docker 采用客户端-服务器架构。Docker 客户端与 Docker 守护进程,负责构建、运行和 分发你的 Docker 容器。Docker 客户端和守护进程可以 运行在同一台系统上,或者你可以将 Docker 客户端连接到远程 Docker 戴蒙。Docker 客户端和守护进程通过 REST API 在 UNIX 上通信 套接字或网络接口。另一个 Docker 客户端是 Docker Compose, 这样你就能处理由一组容器组成的应用程序。

六、Docker的核心组成

名称 类比
Image(镜像) 安装包
Container(容器) 正在运行的软件
Repository(仓库) 应用商店

七、Image(镜像)

镜像:

是一个只读模板

里面包含:

程序

环境

依赖

例如:

Ubuntu 镜像

MySQL 镜像

Redis 镜像

Nginx 镜像

你可以理解:

镜像 = 类(class)

容器 = 对象(object)

查看镜像

docker images

拉取镜像

例如:

docker pull ubuntu

意思:

从 Docker Hub 下载 Ubuntu 镜像。

八、Container(容器)

容器:

是镜像运行后的实例

例如:

docker run ubuntu

会:

创建容器

启动容器

查看容器

docker ps

查看运行中的容器

docker ps -a

查看所有容器

九、Docker 的底层原理

这是核心。

Docker 本质上:

不是虚拟机

它依赖 Linux 内核特性:

1. Namespace(命名空间)

作用:

隔离

让容器觉得:

自己有独立进程

独立网络

独立文件系统

实际上:

只是 Linux 隔离机制。

2. Cgroups

作用:

资源限制

限制容器:

CPU

内存

IO

例如:

docker run -m 512m ubuntu

限制最大内存:

512MB。

3. UnionFS(联合文件系统)

Docker 镜像是:

分层的

例如:

Ubuntu层

Python层

依赖层

代码层

优点:

节省空间

复用层

增量更新

相关推荐
誰能久伴不乏5 小时前
保姆级 Docker 入门教程
docker·容器·eureka
vipxieliang10 小时前
Docker vs Podman vs containerd:容器运行时全景
docker·容器
vipxieliang10 小时前
数据持久化方案:卷、挂载、权限与备份恢复
docker·容器
vipxieliang10 小时前
Compose 生产级配置:从 demo 到可上线
docker
vipxieliang10 小时前
容器原理揭秘:namespace、cgroup 与镜像分层
docker·容器
wzq11_66612 小时前
Kubernetes集群——基础篇(基础知识与搭建步骤一遍过!!!)
java·容器·kubernetes
java_logo14 小时前
Docker 部署 dockurr/windows:轻松搭建浏览器可控 Windows 虚拟机
运维·windows·docker·容器·虚拟机·kvm·轩辕镜像
谢亮_vipxieliang14 小时前
私有镜像仓库:Registry、Harbor 与镜像同步实战
网络·docker·容器
努力努力再努力wz16 小时前
【边缘计算入门系列】从“在哪里算”到“怎么算”:一文建立边缘计算、算子、计算图与 Tensor 的底层心智模型
人工智能·docker·边缘计算
江湖有缘16 小时前
3款开源IT工具箱整理合集,可Docker一键部署!
docker·容器·开源