Docker 介绍(一)
1.介绍
笔记来源:docker-notes
其他教程:Docker 从入门到实践
Docker 通过容器化将应用和运行环境打包在一起,保证跨环境一致性,大大简化了开发、测试和部署流程,成为现代 DevOps 和云计算的重要工具。
一、特点与架构
特点:
- 轻量性:容器共享宿主机内核,占用资源少、启动速度快。
- 可移植性:一次打包,到处运行,保证环境一致。
- 隔离性:容器之间相互独立,避免依赖冲突。
- 标准化:统一构建、部署和运行流程,提高效率。
架构:
Docker 采用客户端-服务器(Client-Server)架构。客户端负责发送命令,Docker 守护进程(Daemon)负责执行命令。两者通过 UNIX 套接字或网络接口进行通信,使用 REST API 交换数据,可以部署在同一台或不同机器上,实现本地或远程管理 Docker 服务。

二、核心概念
Docker 的核心概念包括容器、镜像、Dockerfile 和镜像仓库。
- 容器(Container) :Docker 的运行单元,拥有独立的文件系统、网络和进程空间,轻量且启动速度快。
- 镜像(Image) :创建容器的模板,包含应用运行所需的代码、依赖和配置。
- Dockerfile:定义镜像构建过程的脚本文件,Docker 根据其中的指令自动生成镜像。
- 镜像仓库(Repository) :用于存储和分发镜像,如 Docker Hub 和私有仓库。
Docker 工作流程:
- 编写 Dockerfile。
- 构建 Docker 镜像。
- 将镜像上传到镜像仓库。
- 在任意支持 Docker 的机器上拉取镜像并运行容器。
通过这种方式,Docker 实现了应用环境的标准化和一致性。
三、Docker 与虚拟机对比
Docker 和虚拟机都能隔离应用环境,但原理和资源占用不同:
- Docker 容器:共享宿主机内核,轻量、启动快、资源占用低,隔离性通过内核的命名空间和控制组实现。
- 虚拟机:每个虚拟机运行独立操作系统,启动慢、占用资源多,但隔离性更强,适合需要完全隔离的应用。
简而言之,Docker 更轻量高效,虚拟机隔离更彻底。
