Docker 常用命令大全
·
一、Docker 核心概念简述
在深入命令前,先了解三个基本概念:
- 镜像(Image):只读模板,包含运行应用程序所需的所有内容(代码、依赖、环境等)。
- 容器(Container):镜像的运行实例,可以启动、停止、删除。
- 仓库(Registry):存储和分发镜像的服务,如 Docker Hub、阿里云镜像仓库。
二、Docker 常用命令速查表(建议收藏)
| 类别 | 命令 | 说明 |
|---|---|---|
| 镜像管理 | docker pull 镜像名 | 拉取镜像 |
docker images | 查看本地镜像 | |
docker rmi 镜像名/ID | 删除镜像 | |
docker build -t 名称:标签 . | 构建镜像 | |
| 容器管理 | docker run [选项] 镜像 | 运行容器(核心命令) |
docker ps | 查看运行中的容器 | |
docker ps -a | 查看所有容器(含已停止) | |
docker stop/start/restart 容器 | 停止/启动/重启容器 | |
docker rm 容器 | 删除容器 | |
docker exec -it 容器 命令 | 进入或执行容器内命令 | |
| 查看调试 | docker logs 容器 | 查看日志 |
docker stats | 实时查看资源使用 | |
docker inspect 容器 | 查看详细信息(JSON) | |
docker top 容器 | 查看容器内进程 | |
| 系统管理 | docker system df | 查看磁盘使用 |
docker system prune | 清理无用资源 | |
| 网络数据 | docker network ls | 查看网络 |
docker volume ls | 查看数据卷 |
三、镜像管理命令
1. docker pull 镜像名[:标签]
作用:从远程仓库拉取镜像到本地。
docker pull nginx:latest
docker pull ubuntu:22.04
提示::latest 是默认标签,表示最新版本。
2. docker images
作用:列出本地所有镜像。
docker images
常用选项:
docker images -q:只显示镜像 ID(用于脚本)docker images --filter "dangling=true":显示未被使用的中间层镜像
3. docker rmi 镜像名/ID
作用:删除本地镜像。
docker rmi nginx
docker rmi 605c77e18f8c
注意:正在被容器使用的镜像无法删除,需先删除容器。
4. docker build -t 镜像名:标签 .
作用:根据 Dockerfile 构建自定义镜像。
docker build -t myapp:v1.0 .
-t:指定镜像名称和标签.:构建上下文路径(当前目录)
四、容器管理命令
1. docker run [选项] 镜像名 [命令]
作用:创建并启动一个新容器。
常用选项:
| 选项 | 说明 |
|---|---|
-d | 后台运行(detached) |
-it | 交互式终端模式 |
--rm | 容器退出后自动删除 |
--name 名称 | 指定容器名称 |
-p 主机端口:容器端口 | 端口映射 |
-v 主机路径:容器路径 | 挂载数据卷 |
--memory="512m" | 限制内存 |
--cpus="1.0" | 限制 CPU |
示例:
docker run -d --name web -p 80:80 nginx # 后台运行 Nginx,映射 80 端口
docker run -it ubuntu:22.04 /bin/bash # 交互式运行 Ubuntu,进入 shell
docker run -it --rm alpine sh -c "apk add stress-ng && stress-ng --cpu 4 --timeout 60s" # 临时运行压力测试,60 秒后自动删除
2. docker ps
作用:查看正在运行的容器。
docker ps
常用选项:
docker ps -a:查看所有容器(包括已停止的)docker ps -q:只显示容器 IDdocker ps -l:显示最新创建的容器
3. docker stop/start/restart 容器名/ID
作用:停止、启动、重启容器。
docker stop web
docker start web
docker restart web
4. docker rm 容器名/ID
作用:删除已停止的容器。
docker rm web
批量删除所有已停止容器:
docker rm $(docker ps -aq)
5. docker exec [选项] 容器名 命令
作用:在运行中的容器内执行命令。
docker exec -it web /bin/bash # 进入容器的 shell
docker exec web cat /etc/nginx/nginx.conf # 查看容器内某个文件
五、查看与调试命令
1. docker logs 容器名
作用:查看容器的日志输出。
docker logs web
docker logs -f web # 实时查看(类似 tail -f)
docker logs --tail 100 web # 只看最后 100 行
2. docker stats
作用:实时查看容器的资源使用情况(CPU、内存、网络、磁盘)。
docker stats
docker stats web # 只看指定容器
3. docker inspect 容器名/镜像名
作用:查看容器或镜像的详细信息(JSON 格式)。
docker inspect web
可用于查看 IP 地址、挂载点、环境变量等。
4. docker top 容器名
作用:查看容器内运行的进程。
docker top web
六、系统与资源管理
1. docker system df
作用:查看 Docker 磁盘使用情况。
docker system df
2. docker system prune
作用:清理未使用的资源。
docker system prune # 删除停止的容器、未使用的网络、dangling 镜像
docker system prune -a # 删除所有未使用的镜像
docker system prune --volumes # 同时删除未使用的数据卷
慎用 -a,会删除所有未被容器引用的镜像。
七、网络与数据卷
1. docker network ls
作用:列出所有网络。
docker network ls
2. docker volume ls
作用:列出所有数据卷。
docker volume ls
3. 创建自定义网络(推荐用于多容器通信)
docker network create app-network
docker run -d --network app-network --name db mysql
docker run -d --network app-network --name web nginx
八、实用技巧与最佳实践
命名容器
使用 --name 为容器命名,便于管理:
docker run -d --name mysql-db mysql
自动清理临时容器
使用 --rm 避免残留:
docker run --rm -it alpine sh
查看帮助
所有命令都支持 --help:
docker run --help
docker exec --help
本文系统整理了 Docker 的常用命令,通过“速查表 + 详细说明”的方式,帮助你快速查找并掌握镜像管理、容器操作、日志查看、资源清理等核心命令,适合日常开发、运维使用和新手学习。学完就能上手,轻松玩转 Docker!
更多推荐



所有评论(0)