学 Docker,不要只背命令。
把这张图吃透,后面很多事都会变简单:
源代码 + 依赖 + 配置
│
▼
Dockerfile
│
▼
docker build
│
▼
Image
│
├── docker run → 单容器启动
├── docker push → 发布到仓库
└── docker compose up → 多容器编队运行
│
├── volumes → 独立仓储
├── networks → 内部通信
└── services → 多个容器角色再压缩成一句话:
Docker 解决的不是“程序怎么启动”,而是“程序怎么被标准化打包、运输、落地、复现和协同运行”。
#Docker 概念关系总图
Docker 国际港口集装箱宇宙
│
├── 模板层
│ ├── Dockerfile ← 装柜说明书
│ ├── Image ← 装柜模板
│ └── Layer ← 分层装箱记录
│
├── 运行层
│ ├── Container ← 真正跑起来的货柜
│ ├── CMD / ENTRYPOINT ← 发车后的默认动作
│ └── docker run ← 按模板发车
│
├── 存储层
│ ├── container fs ← 临时柜内文件层
│ ├── volume ← Docker 管理仓储
│ └── bind mount ← 宿主机直连挂载
│
├── 网络层
│ ├── bridge ← 单机港区航线
│ ├── published ports ← 对外开放入口
│ └── user-defined net ← 编队内部通信
│
├── 编队层
│ ├── compose.yaml ← 调度总表
│ ├── services ← 多货柜角色
│ ├── volumes ← 共享仓储
│ └── networks ← 共享航线
│
└── 发布层
├── docker tag ← 版本命名
├── docker login ← 登录码头仓库
└── docker push ← 发布镜像模板