Docker常用命令汇总手册
文章目录
一、基础命令(系统与资源管理)二、镜像(Image)管理1. 核心操作2. 进阶操作
三、容器(Container)管理1. 生命周期操作2. 交互与监控3. 文件操作
四、网络(Network)管理五、卷(Volume)管理(数据持久化)六、Docker Compose 命令(多容器管理)七、实用清理与快捷命令八、场景示例
一、基础命令(系统与资源管理)
| 命令 | 作用 | 说明 / 示例 |
|---|---|---|
|
查看版本信息 | 显示客户端与服务端的 Docker 版本号 |
|
查看系统详情 | 包含镜像数量、容器状态、存储驱动等核心信息 |
|
实时资源监控 | 跟踪运行容器的 CPU、内存、网络 IO 使用情况,可指定容器名过滤 |
|
磁盘使用分析 | 统计镜像、容器、卷占用的存储空间 |
二、镜像(Image)管理
1. 核心操作
| 命令 | 作用 | 说明 / 示例 |
|---|---|---|
|
拉取镜像 | 从仓库获取镜像,如(指定版本)或(默认 latest) |
|
查看本地镜像 | 显示中间层镜像,仅输出镜像 ID(用于批量操作) |
|
删除镜像 | 强制删除加,批量删除:(慎用) |
|
构建镜像 | 基于 Dockerfile 创建,如(当前目录构建),禁用缓存 |
2. 进阶操作
搜索镜像:(如
docker search <关键词>)清理无用镜像:
docker search mysql(删除悬空镜像),
docker image prune删除所有未使用镜像镜像打标签:
-a(用于版本管理)
docker tag <原镜像> <新镜像名>:<标签>
三、容器(Container)管理
1. 生命周期操作
| 命令 | 作用 | 说明 / 示例 |
|---|---|---|
|
创建并启动 | 后台运行,交互式终端,端口映射,挂载卷,指定名称 |
|
查看容器 | 显示所有容器(含停止),筛选停止容器 |
|
状态控制 | 启动已停止容器、停止运行中容器或重启容器 |
|
删除容器 | 强制删除运行中容器加,批量清理:(删除所有停止容器) |
2. 交互与监控
查看日志:,
docker logs <容器>实时跟踪,
-f查看最后 100 行进入容器:
--tail 100(推荐,不中断容器运行)查看详情:
docker exec -it <容器> /bin/bash(获取 IP、挂载、网络等 JSON 信息)进程查看:
docker inspect <容器>(显示容器内运行进程)
docker top <容器>
3. 文件操作
主机与容器传文件:(如
docker cp <源路径> <容器名>:<目标路径>)
docker cp index.html mynginx:/usr/share/nginx/html
四、网络(Network)管理
| 命令 | 作用 | 说明 / 示例 |
|---|---|---|
|
查看网络 | 列出所有 Docker 网络(默认含 bridge、host 等) |
|
创建网络 | 如(自定义网络便于容器通信) |
|
查看详情 | 显示连接的容器、IP 范围等配置(如) |
|
删除网络 | 需先断开关联容器 |
五、卷(Volume)管理(数据持久化)
| 命令 | 作用 | 说明 / 示例 |
|---|---|---|
|
查看卷 | 列出所有数据卷 |
|
创建卷 | 如(用于数据库持久化) |
|
查看详情 | 获取卷存储路径等信息 |
|
清理卷 | 删除所有未使用的数据卷 |
六、Docker Compose 命令(多容器管理)
启动服务:(后台运行所有服务)停止服务:
docker-compose up -d(停止并删除容器、网络)查看状态:
docker-compose down(显示服务运行状态)进入容器:
docker-compose ps(如
docker-compose exec <服务名> /bin/bash)
docker-compose exec mysql /bin/bash
七、实用清理与快捷命令
一键清理:(删除未使用镜像、容器、卷,慎用!)容器自启动:
docker system prune -a --volumes(设置容器随 Docker 启动)格式化查看容器:
docker update --restart=always <容器ID>(简洁展示关键信息)
docker ps -a --format "table {{.ID}} {{.Names}} {{.Status}}"
八、场景示例
运行 Nginx 服务:(后台运行,端口映射 80,挂载配置文件卷)运行 MySQL 容器:
docker run -d --name mynginx -p 80:80 -v /nginx/conf:/etc/nginx/conf.d nginx(设置 root 密码,数据持久化到 mysql_data 卷)
docker run -d --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -v mysql_data:/var/lib/mysql mysql:8.0
