Docker 介绍(一)

1.介绍

笔记来源:docker-notes

其他教程:Docker 从入门到实践

Docker 通过容器化将应用和运行环境打包在一起,保证跨环境一致性,大大简化了开发、测试和部署流程,成为现代 DevOps 和云计算的重要工具。

一、特点与架构

特点:

  1. 轻量性:容器共享宿主机内核,占用资源少、启动速度快。
  2. 可移植性:一次打包,到处运行,保证环境一致。
  3. 隔离性:容器之间相互独立,避免依赖冲突。
  4. 标准化:统一构建、部署和运行流程,提高效率。

架构:

Docker 采用客户端-服务器(Client-Server)架构。客户端负责发送命令,Docker 守护进程(Daemon)负责执行命令。两者通过 UNIX 套接字或网络接口进行通信,使用 REST API 交换数据,可以部署在同一台或不同机器上,实现本地或远程管理 Docker 服务。

Docker 架构图

二、核心概念

Docker 的核心概念包括​容器、镜像、Dockerfile 和镜像仓库

  • 容器(Container) :Docker 的运行单元,拥有独立的文件系统、网络和进程空间,轻量且启动速度快。
  • 镜像(Image) :创建容器的模板,包含应用运行所需的代码、依赖和配置。
  • Dockerfile:定义镜像构建过程的脚本文件,Docker 根据其中的指令自动生成镜像。
  • 镜像仓库(Repository) :用于存储和分发镜像,如 Docker Hub 和私有仓库。

Docker 工作流程:

  1. 编写 Dockerfile。
  2. 构建 Docker 镜像。
  3. 将镜像上传到镜像仓库。
  4. 在任意支持 Docker 的机器上拉取镜像并运行容器。

通过这种方式,Docker 实现了应用环境的标准化和一致性。

三、Docker 与虚拟机对比

Docker 和虚拟机都能隔离应用环境,但原理和资源占用不同:

  • Docker 容器:共享宿主机内核,轻量、启动快、资源占用低,隔离性通过内核的命名空间和控制组实现。
  • 虚拟机:每个虚拟机运行独立操作系统,启动慢、占用资源多,但隔离性更强,适合需要完全隔离的应用。

简而言之,Docker 更轻量高效,虚拟机隔离更彻底。

Docker 和虚拟机对比