Docker 部署实战
一、核心概念
- 镜像:只读模板
- 容器:镜像的运行实例
- 仓库:镜像存储与分发
二、编写 Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
三、docker-compose 编排
version: '3'
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- mysql
mysql:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: 123456