引言
每次换电脑或者接手新项目,最头疼的事情是什么?配置开发环境。
装Node.js要选版本,装Python要管依赖,数据库要配连接,Redis要搞缓存——折腾半天,环境配好了,代码还没写。更糟糕的是,”在我电脑上明明能跑”这种灵魂拷问,几乎每个开发者都经历过。
今天我用Docker来解决这个问题。跟着这篇教程走,10分钟内你就能拥有一个干净、可复制的开发环境。
一、Docker是什么?为什么你需要它?
打个比方:以前的开发就像在家里做饭——你要买锅买碗买调料,厨房乱七八糟,换个地方就没法做了。Docker就像一个预制菜盒子——所有东西都配好了,打开就能用,带到哪里都能做出一模一样的味道。
Docker的核心优势:
- 环境一致:开发、测试、生产环境完全一样
- 即开即用:不需要手动安装各种依赖
- 隔离运行:每个项目互不影响
- 一键分享:把Docker文件发给同事,他们就能复现你的环境
二、安装Docker
访问 docker.com/products/docker-desktop 下载安装包,根据你的操作系统选择对应版本。安装完成后打开终端,输入以下命令验证:
docker --version
docker compose version
看到版本号就说明安装成功了。
三、实战:搭建一个完整的Web开发环境
假设你要开发一个Node.js项目,需要Node.js、PostgreSQL数据库和Redis缓存。用Docker只需要以下几个步骤:
第1步:创建项目目录
mkdir my-project
cd my-project
第2步:创建 Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
第3步:创建 docker-compose.yml
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://user:pass@db:5432/mydb
- REDIS_URL=redis://cache:6379
depends_on:
- db
- cache
db:
image: postgres:16
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: mydb
volumes:
- pgdata:/var/lib/postgresql/data
cache:
image: redis:7-alpine
volumes:
pgdata:
第4步:启动环境
docker compose up -d
就这么简单!现在你的Node.js应用、PostgreSQL数据库和Redis缓存都已经跑起来了。
四、常用Docker命令速查
| 命令 | 作用 |
|---|---|
docker ps |
查看正在运行的容器 |
docker compose up -d |
后台启动所有服务 |
docker compose down |
停止并删除容器 |
docker exec -it <容器名> sh |
进入容器内部 |
docker logs -f <容器名> |
查看容器日志 |
docker image prune |
清理不使用的镜像 |
五、进阶技巧
热重载(开发时用):
在 docker-compose.yml 中挂载本地代码目录,修改代码后容器会自动更新:
volumes:
- .:/app
数据持久化:
使用Docker Volume(如上面 pgdata 那样),即使删除容器,数据库中的数据也不会丢失。
写在最后
Docker不是银弹,但它解决了开发环境配置这个痛点。一旦你习惯了”一条命令启动全部”的爽感,就再也回不去了。
从今天开始,把你的开发环境装进Docker里,告别”在我电脑上能跑”的尴尬。

评论 (0)