Docker学习笔记

学习动机

为了在 macOS 上运行 Linux 完成 CSAPP 课程作业,使用轻量级虚拟机方式学习 Docker。

Docker 简介

Docker 使组织从传统的开发-运维交接转向集成部署工作流。该技术利用"隔离机制来最大化服务器利用率",对于管理数据库和缓存集群部署特别有价值。

历史背景

dotCloud 成立于 2010 年,最初提供平台即服务(PaaS),2013 年将其容器化技术开源。Docker 因其轻量级特性和 Go 语言实现而获得广泛采用。

相比虚拟机的优势

虚拟机需要完整的内核模拟,消耗大量资源,启动时间长。

Docker 容器共享宿主机内核,同时维护隔离的应用环境。主要优势:

  • 最小资源消耗(MB级 vs GB级)
  • 快速初始化
  • 容器间文件系统隔离

DevOps 优势

  • 更快的应用交付和部署
  • 简化版本升级和扩展
  • 降低系统管理复杂性
  • 提高物理硬件资源利用率

Docker 核心组件

  • 镜像(Image):创建容器实例的模板
  • 容器(Container):托管应用的运行时环境
  • 仓库(Repository):存储镜像的位置