Docker 命令速查表
本页面汇总了 Docker 最常用的命令,方便快速查阅。
镜像命令
| 命令 | 说明 |
|---|---|
docker pull <镜像> | 拉取镜像 |
docker images | 列出本地镜像 |
docker rmi <镜像> | 删除镜像 |
docker tag <镜像> <新标签> | 创建镜像标签 |
docker save -o file.tar <镜像> | 导出镜像 |
docker load -i file.tar | 导入镜像 |
docker build -t <名称> . | 构建镜像 |
docker history <镜像> | 查看镜像历史 |
docker inspect <镜像> | 查看镜像详情 |
docker image prune | 删除悬空镜像 |
容器命令
| 命令 | 说明 |
|---|---|
docker run <镜像> | 创建并运行容器 |
docker ps | 列出运行中的容器 |
docker ps -a | 列出所有容器 |
docker start <容器> | 启动容器 |
docker stop <容器> | 停止容器 |
docker restart <容器> | 重启容器 |
docker rm <容器> | 删除容器 |
docker logs <容器> | 查看日志 |
docker exec -it <容器> bash | 进入容器 |
docker cp <容器>:<路径> <本地路径> | 复制文件 |
docker run 常用选项
| 选项 | 说明 |
|---|---|
-d | 后台运行 |
-it | 交互式终端 |
--name <名称> | 指定容器名称 |
-p <主机端口>:<容器端口> | 端口映射 |
-P | 随机端口映射 |
-v <主机路径>:<容器路径> | 挂载数据卷 |
-e <变量>=<值> | 设置环境变量 |
--env-file <文件> | 从文件读取环境变量 |
--network <网络> | 指定网络 |
--restart <策略> | 重启策略 |
--memory <大小> | 内存限制 |
--cpus <数量> | CPU 限制 |
--rm | 容器退出后自动删除 |
Dockerfile 指令
| 指令 | 说明 |
|---|---|
FROM <镜像> | 指定基础镜像 |
RUN <命令> | 执行命令 |
CMD ["命令"] | 容器启动命令 |
ENTRYPOINT ["命令"] | 入口点 |
COPY <源> <目标> | 复制文件 |
ADD <源> <目标> | 添加文件 |
WORKDIR <路径> | 设置工作目录 |
ENV <变量>=<值> | 设置环境变量 |
ARG <变量> | 定义构建参数 |
EXPOSE <端口> | 声明端口 |
VOLUME <路径> | 声明数据卷 |
USER <用户> | 指定运行用户 |
HEALTHCHECK | 健康检查 |
LABEL | 添加元数据 |
Docker Compose 命令
| 命令 | 说明 |
|---|---|
docker compose up | 启动服务 |
docker compose up -d | 后台启动 |
docker compose down | 停止并删除 |
docker compose ps | 查看服务状态 |
docker compose logs | 查看日志 |
docker compose logs -f | 实时查看日志 |
docker compose exec <服务> bash | 进入服务 |
docker compose build | 构建镜像 |
docker compose pull | 拉取镜像 |
docker compose restart | 重启服务 |
docker compose stop | 停止服务 |
docker compose start | 启动服务 |
docker compose config | 验证配置 |
网络命令
| 命令 | 说明 |
|---|---|
docker network ls | 列出网络 |
docker network create <名称> | 创建网络 |
docker network rm <名称> | 删除网络 |
docker network inspect <名称> | 查看网络详情 |
docker network connect <网络> <容器> | 连接网络 |
docker network disconnect <网络> <容器> | 断开网络 |
docker network prune | 删除未使用的网络 |
数据卷命令
| 命令 | 说明 |
|---|---|
docker volume ls | 列出数据卷 |
docker volume create <名称> | 创建数据卷 |
docker volume rm <名称> | 删除数据卷 |
docker volume inspect <名称> | 查看数据卷详情 |
docker volume prune | 删除未使用的数据卷 |
系统命令
| 命令 | 说明 |
|---|---|
docker info | 显示系统信息 |
docker version | 显示版本信息 |
docker system df | 查看磁盘使用 |
docker system prune | 清理未使用资源 |
docker system prune -a | 清理所有未使用资源 |
docker system prune -a --volumes | 包含数据卷清理 |
日志查看选项
| 选项 | 说明 |
|---|---|
-f, --follow | 实时跟踪 |
--tail <数量> | 显示最后 N 行 |
-t, --timestamps | 显示时间戳 |
--since <时间> | 显示指定时间后的日志 |
--until <时间> | 显示指定时间前的日志 |
重启策略
| 策略 | 说明 |
|---|---|
no | 不自动重启(默认) |
always | 总是重启 |
unless-stopped | 除非手动停止,否则总是重启 |
on-failure | 失败时重启 |
常用组合命令
# 停止所有容器
docker stop $(docker ps -q)
# 删除所有容器
docker rm $(docker ps -aq)
# 删除所有镜像
docker rmi $(docker images -q)
# 删除所有未使用的资源
docker system prune -a --volumes
# 查看容器资源使用
docker stats --no-stream
# 批量导出镜像
docker save -o images.tar $(docker images -q)
# 查看镜像层
docker history --no-trunc <镜像>
Docker Compose 配置速查
services:
app:
image: nginx:latest # 使用镜像
build: . # 构建镜像
container_name: my-app # 容器名称
hostname: app-server # 主机名
restart: always # 重启策略
ports:
- "8080:80" # 端口映射
environment:
- NODE_ENV=production # 环境变量
env_file:
- .env # 环境变量文件
volumes:
- ./data:/app/data # 数据卷
networks:
- app-network # 网络
depends_on:
- db # 依赖
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/health"]
interval: 30s
timeout: 10s
retries: 3
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
networks:
app-network:
driver: bridge
volumes:
app-data: