通过构建三层 MERN 应用学习 Docker
发布: (2026年1月8日 GMT+8 12:22)
2 min read
原文: Dev.to
Source: Dev.to
为什么要使用 Docker?
- 在 Docker 之前,运行一个应用意味着:
- 手动安装依赖
- 处理环境不匹配的问题
- 经常听到经典的 “在我的机器上可以运行” 的抱怨
- Docker 通过将应用及其依赖打包进容器来解决这些问题,使其可移植、保持一致且可重复。
我构建的内容
该应用的结构如下:
- 前端: 通过 Nginx 提供服务的 React 风格前端
- 后端: Node.js + Express API
- 数据库: MongoDB
每个组件都运行在独立的 Docker 容器中,所有服务通过共享的 Docker 网络进行通信。
整个应用可以使用一条命令启动:
docker compose up --build
我练习的 Docker 概念
- Docker 镜像与容器
- Dockerfile
- 多阶段 Docker 构建
- Docker 网络
- Docker 卷(Volumes)
- Docker Compose
我的收获
- 当你从头到尾构建一个项目时,Docker 的概念会变得更加清晰。
- 使用 Docker Compose 管理多容器应用更加便捷。
- 卷对于需要在容器重启后仍然保留的数据至关重要。
- Docker 更多关注的是可复现的环境,而不是单纯的命令。
为什么这个项目重要
代码仓库: