Skip to content

Docker(容器化)

一句话

把应用和环境打包成一个「集装箱」——在哪跑都一样,不用重装依赖。

核心概念

概念是什么前端类比
镜像(Image)应用+环境的只读快照node_modules + 系统依赖的 tar 包
容器(Container)镜像的运行实例tar 包解压后跑的进程
Dockerfile镜像的「构建配方」package.json + webpack.config

为什么前端需要学

前端转全栈的第一道坎:自己装 MySQL、Redis、Milvus……各种数据库的安装流程各不相同,环境变量、端口、数据目录配置起来容易出错。Docker 一条命令解决:

bash
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin mysql:latest

不用去官网下安装包、不用配置 my.cnf、不用纠结 macOS 和 Linux 路径差异。

应用场景

场景说明
本地开发环境一键起 MySQL/Redis/Milvus,和别人协作时环境完全一致
微服务部署每个服务一个容器,独立扩缩容
AI 模型部署模型 + Python 依赖 + CUDA 驱动 → 一个镜像,到处跑

横向对比:Docker vs 传统部署

传统部署Docker
环境配置手动安装依赖,不同机器可能不同Dockerfile 固化,一致
启动速度分钟级(装依赖)秒级(镜像已有)
隔离性进程级,可能冲突容器级,完全隔离
迁移性「在我机器上能跑」任何装了 Docker 的机器都能跑

优缺点

优点: 环境一致、快速启动、资源隔离、生态丰富(Docker Hub) 缺点: 学习曲线(镜像/容器/卷/网络一堆概念),macOS 上性能不如 Linux 原生,镜像体积可能很大

小结

Docker 是后端世界的 npm install——它标准化了「环境配置」这件事。作为前端转全栈,你不需要成为 Docker 专家,但至少要做到:能看懂 Dockerfile、能用 docker-compose up 起服务、能分清镜像和容器。

下一步