Docker 容器化部署实践
为什么选择 Docker
Docker 通过容器技术将应用及其依赖打包在一起,解决了"在我机器上能跑"的经典问题。容器轻量、启动快、资源隔离,是微服务和 CI/CD 的基础设施。
编写 Dockerfile
下面是一个 Node.js 应用的 Dockerfile 示例:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]
使用 Docker Compose
对于多容器应用,推荐使用 docker-compose 进行编排:
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: postgres:15
environment:
POSTGRES_DB: myapp
POSTGRES_PASSWORD: secret
常用命令
docker build -t myapp . 构建镜像;docker-compose up -d 启动所有服务;docker logs -f container_id 查看日志。
掌握 Docker 能够让开发、测试和生产环境保持一致,是现代软件工程不可或缺的技能。