Docker 是一个开源的容器化平台,它让开发者能够将应用程序与其依赖项打包到一个可移植的容器中。
Docker 主要有两个版本:
Docker CE (Community Edition)
Docker EE (Enterprise Edition)
Docker 的核心概念
- 一个只读的模板,包含创建 Docker 容器的指令
Dockerfile
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
常用 Docker 命令
Docker Compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
主要特点
- 在
docker-compose.yml
文件中定义服务
docker-compose down
停止所有服务
docker-compose.yml 示例
version: '3'
services:
web:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: mongodb
volumes:
- db-data:/data/db
volumes:
db-data:
Docker Compose 常用命令
docker-compose up
- 创建和启动容器docker-compose down
- 停止和删除容器docker-compose ps
- 列出项目中的容器docker-compose logs
- 查看服务日志docker-compose exec
- 在运行的容器中执行命令
Docker vs Docker Compose
- Docker Compose:适用于多容器应用的管理
- Docker:使用命令行参数或 Dockerfile
- Docker Compose:使用 YAML 文件统一配置
- Docker Compose:适合复杂的多服务应用
- Docker Compose 配置更容易维护和版本控制
