Docker 教程
Ubuntu 版
第一章、Docker 容器简介
前言
本课程是针对网络运维人员、网站前端,后端开发工程师、App后端开发工程师、架构设计师、测试工程师的基础教程。
本课程将从容器原理开始讲解,直至能够部署自己需要的应用服务器。
本课程的内容由作者(魏明择)本人编写,请在线观看,禁止任何形式的复制、转发和修改。
本教程的案例均在 Ubuntu 24.04 LTS 上验证,学习本教程前请先自行安装 Ubuntu 24.04 LTS 操作系统或下载由本站制作的 vmware 虚拟机镜像。
Ubuntu24.04 VMware镜像:
- 百度网盘下载地址:
- https://pan.baidu.com/s/1jYAdvByctakhRVrDIteoLA 提取码: m8ee
Ubuntu下载和安装方法详见: Ubuntu Linux 简介
前置课程
在学习此内容之前你需要先学习 《Linux教程》。关于Ubuntu 操作系统的安装和虚拟机的下载和安装都在 《Linux教程》 中讲过,这里不在赘述。
为什么要学习 Docker?
Docker(容器技术)已经成为现代软件开发和运维的必备技能,无论是开发、测试、运维还是架构设计,Docker 都能显著提升效率。
为了更深入了解容器技术,我们需要先从虚拟机技术说起。
虚拟机技术
虚拟机技术(Virtual Machine, VM)是一种通过软件模拟完整计算机系统的技术,他允许在单台物理机上运行多个隔离的 虚拟计算机。
主流虚拟机产品
技术/产品
公司
特点
VMware ESXi
VMware
企业级虚拟化,高性能,付费授权。
KVM
Linux 社区
开源,集成到 Linux 内核,云厂商广泛使用。
VMware Workstation 或 VMware Fusion
VMware
个人电脑虚拟化,付费。
Hyper-V
Microsoft
Windows 内置,支持 Linux 虚拟机。
VirtualBox
Oracle
免费,适合开发和测试。
Xen
Linux 基金会
早期开源虚拟化,AWS EC2 初代采用。
国内云厂商大多使用的是 VMware ESXi 和 KVM 平台。
虚拟机的特点
特性
说明
完全隔离
虚拟机之间互不干扰,崩溃或病毒不影响宿主机和其他 VM。
硬件虚拟化
模拟 CPU、内存、磁盘等硬件资源,支持跨平台运行(如 Mac 上跑 Windows)。
独立系统
每个 VM 需独立安装操作系统和驱动,占用资源较多。
快照与克隆
可保存虚拟机状态(快照),快速复制环境(克隆)。
虚拟机的应用场景
- 企业服务器整合:单台物理机运行多个业务 VM,节省硬件成本。
- 跨平台开发:Mac 用户通过 VM 运行 Windows 专属软件(如 IE 浏览器)。
- 安全测试:在隔离的 VM 中分析恶意软件或漏洞。
- 传统应用迁移:老旧系统(如 Windows Server 2003)在 VM 中延续使用。
- 云服务构建:使用虚拟机技术创建云平台(公有云和私有云)。
虚拟机的局限性
- 资源开销:运行多个 VM 需大量 CPU 和内存。
- 启动慢:不适合需要快速扩缩容的场景。
- 管理复杂:需维护多个 OS 的补丁和许可证。
虚拟机虽然好,但由于存在多个操作系统,因此操作系统占用的系统开销比较大。综上所述,容器的技术变得更加流行。