Docker的核心概念
理解Docker,主要掌握这几个关键概念:
镜像(Image)
- 镜像是一个只读的模板,包含了运行容器所需的应用程序、依赖、配置等。
- 类似于虚拟机的快照,但更轻便。
- 可以通过Dockerfile自定义构建镜像。
镜像 = 应用 + 运行环境打包好的成品
容器(Container)
- 容器是镜像的一个运行实例。
- 容器是独立的、可运行的应用环境。
- 可以启动、停止、删除、迁移,非常灵活。
镜像是蓝图,容器是根据蓝图建造出来的房子。
仓库(Registry)
- 仓库是集中存放镜像的地方。
- 公共仓库如Docker Hub,私有仓库如Harbor。
- 镜像可以从仓库拉取(pull)或推送(push)。
Docker引擎(Docker Engine)
- Docker的核心程序,负责构建、运行和管理容器。
- 包括Docker守护进程(dockerd)和Docker客户端(docker命令行) 。
Docker的工作原理
Docker主要利用了Linux操作系统提供的两项技术:
1. Namespace(命名空间)
- 提供进程隔离。
- 每个容器拥有自己独立的进程、网络、挂载点等环境。
2. Cgroups(控制组)
- 提供资源限制。
- 可以限制容器使用的CPU、内存、IO等资源,防止资源被某个容器耗尽。