# Docker 初识
# Docker 是什么
Docker 是一个容器化平台,可以把应用和运行环境一起打包,做到「一次构建,到处运行」。
和虚拟机相比,Docker 不是完整模拟一台机器,而是复用宿主机内核,所以更轻量、启动更快。
# 为什么要用 Docker
- 环境一致:开发、测试、生产运行环境统一,减少「我本地没问题」。
- 交付更快:应用打包成镜像,发布时直接拉取运行。
- 资源利用率高:容器比虚拟机更轻,启动秒级。
- 易于扩展:天然适合微服务、CI/CD、云原生场景。
# 核心概念
# 镜像(Image)
镜像可以理解为只读模板,包含应用代码、依赖、运行时配置。
# 容器(Container)
容器是镜像启动后的运行实例。一个镜像可以启动多个容器。
# 仓库(Registry)
仓库用于存放镜像,比如 Docker Hub、阿里云镜像仓库、公司私有仓库。
# Dockerfile
Dockerfile 是构建镜像的脚本文件,定义了镜像如何一步步生成。
# Compose
Docker Compose 用于定义并管理多个容器(例如:web + mysql + redis)。
# Docker 架构(简版)
- Docker Client:我们敲的
docker命令。 - Docker Daemon:后台服务,真正执行构建/运行等动作。
- Registry:拉取和推送镜像的远端仓库。
# 一句话理解
- 镜像是「类」
- 容器是「实例」
- Dockerfile 是「构建脚本」
- Compose 是「多服务编排配置」