1.Docker是什么?
1.Docker是什么?
棋飞Docker 是一个开源的容器化平台,用于快速打包、分发和运行应用程序。它通过将应用及其依赖封装在轻量级的容器中,实现环境隔离与跨平台一致性。
核心概念
镜像(Image)
- 类似虚拟机的快照,包含应用程序、依赖库和配置文件的静态模板。
- 例如:一个包含 Node.js 和项目代码的镜像。
容器(Container)
- 镜像的运行实例,轻量级且可快速启动/停止。
- 多个容器共享宿主机内核,但彼此隔离。
仓库(Registry)
- 存储和分发镜像的中心仓库,如 Docker Hub(公共)或私有仓库。
Docker 的优势
环境一致性
- 应用及其依赖被打包成容器,确保在任何环境中运行结果一致。
高效轻量
- 容器共享宿主机资源,相比虚拟机启动更快、资源占用更低。
易于部署
- 通过简单的命令(如
docker run
)即可启动应用,无需手动配置环境。
- 通过简单的命令(如
弹性扩展
- 可快速复制容器实例以应对高负载,支持微服务架构。
容器化技术的核心价值
- 标准化交付:将应用及其依赖打包成镜像,确保环境一致性
- 轻量级运行:共享宿主内核,启动时间以秒计算(对比虚拟机分钟级)
- 快速迭代:镜像分层机制支持增量更新,构建时间显著缩短
容器化 vs 传统部署对比
维度 | 传统部署 | 容器化部署 |
---|---|---|
环境配置 | 手动安装依赖 | 镜像预配置 |
启动速度 | 分钟级 | 秒级 |
资源占用 | 高(需独立OS) | 低(共享内核) |
Docker vs 虚拟机
虚拟机架构
物理机 → Hypervisor → 虚拟机 → 操作系统 → 应用
Docker架构
物理机 → Docker引擎 → 容器 → 应用(共享宿主OS内核)
核心区别
- 隔离性:虚拟机隔离OS,容器隔离进程
- 性能损耗:虚拟机≈10%,容器≈1%
- 资源占用:虚拟机GB级,容器MB级
Docker生态系统
核心组件
Docker Engine
- 服务端守护进程(dockerd)
- CLI客户端(docker命令行工具)
Docker Hub
- 全球最大镜像仓库(200万+官方/社区镜像)
- 支持镜像托管、自动化构建与协作
周边工具链
- Docker Compose:多容器编排
- Docker Swarm:集群管理
- Kubernetes:容器编排领域事实标准
典型应用场景
- Web服务部署:Nginx/Node.js/PHP等Web应用
- CI/CD流水线:代码构建→测试→部署全流程容器化
- 微服务架构:服务解耦与独立扩展(如电商平台的订单/支付服务)
- 开发环境隔离:为不同项目提供独立的运行环境
快速入门示例
# 运行第一个Docker容器(以Nginx为例)
docker run -d -p 80:80 --name my-nginx nginx:latest
执行结果解析
-d
:后台运行容器-p 80:80
:映射宿主80端口到容器80端口nginx:latest
:拉取最新版Nginx镜像
本章后续内容预告
- 第二节:为什么选择Docker?(环境一致性、资源优化、微服务支持)
- 第三节:Docker安装全平台指南(Windows/macOS/Linux)
📌 提示:建议动手实践 docker run hello-world
命令,体验容器化技术的极简特性。遇到问题可参考 Docker官方文档 或评论区提问!