Docker 常用命令速查表
Docker 常用命令速查表
1. 基础信息
| 命令 | 说明 |
|---|---|
docker version |
查看客户端和服务端版本信息 |
docker info |
查看系统范围的信息(容器数、镜像数、存储驱动等) |
docker system df |
查看镜像、容器、数据卷的磁盘占用 |
2. 镜像管理
| 命令 | 说明 |
|---|---|
docker images |
列出本地所有镜像 |
docker images -a |
列出所有镜像(包含中间层) |
docker search <镜像名> |
在 Docker Hub 搜索镜像 |
docker pull <镜像名>:<标签> |
拉取镜像(标签默认 latest) |
docker push <用户名>/<仓库名>:<标签> |
推送镜像到仓库 |
docker tag <源镜像> <目标镜像:标签> |
给镜像打标签 |
docker rmi <镜像ID或名称> |
删除镜像(强制加 -f) |
docker rmi $(docker images -q) |
删除所有镜像 |
docker build -t <名称:标签> <Dockerfile路径> |
构建镜像 |
docker build -t <名称:标签> -f <Dockerfile路径> . |
指定 Dockerfile 文件构建 |
docker save -o <文件名.tar> <镜像名> |
导出镜像为 tar 文件 |
docker load -i <文件名.tar> |
从 tar 文件导入镜像 |
docker history <镜像名> |
查看镜像构建历史 |
3. 容器生命周期
| 命令 | 说明 |
|---|---|
docker run <镜像> |
创建并启动容器 |
docker run -d --name <名称> <镜像> |
后台运行容器 |
docker run -it --name <名称> <镜像> /bin/bash |
交互式运行并进入终端 |
docker run --rm <镜像> |
容器退出后自动删除 |
docker run --restart=always <镜像> |
设置容器自动重启策略 |
docker run -e KEY=value <镜像> |
设置环境变量 |
docker run --env-file <文件> <镜像> |
从文件加载环境变量 |
docker ps |
查看运行中的容器 |
docker ps -a |
查看所有容器(包括停止的) |
docker ps -q |
只显示容器 ID |
docker start <容器ID或名称> |
启动已存在的容器 |
docker stop <容器ID或名称> |
停止容器 |
docker stop $(docker ps -q) |
停止所有运行中的容器 |
docker restart <容器ID或名称> |
重启容器 |
docker rm <容器ID或名称> |
删除容器(加 -f 强制删除运行中的) |
docker rm $(docker ps -aq) |
删除所有已停止的容器 |
docker kill <容器ID或名称> |
强制停止容器 |
docker pause <容器名> |
暂停容器进程 |
docker unpause <容器名> |
恢复暂停的容器 |
docker wait <容器名> |
阻塞直到容器停止,返回退出码 |
docker rename <旧名> <新名> |
重命名容器 |
4. 容器交互与信息
| 命令 | 说明 |
|---|---|
docker exec -it <容器名> /bin/bash |
进入运行中容器的 shell |
docker exec <容器名> <命令> |
在容器中执行单条命令 |
docker logs <容器名> |
查看容器日志 |
docker logs -f <容器名> |
实时跟踪日志 |
docker logs --tail 100 <容器名> |
查看最后 100 行日志 |
docker logs --since 2024-01-01 <容器名> |
查看指定时间后的日志 |
docker inspect <容器或镜像名> |
查看详细信息(JSON 格式) |
docker inspect --format='{{.NetworkSettings.IPAddress}}' <容器名> |
使用 Go 模板格式化输出 |
docker top <容器名> |
查看容器内进程 |
docker port <容器名> |
查看容器端口映射 |
docker stats |
实时查看容器资源占用 |
docker stats --no-stream |
单次查看容器资源占用 |
docker diff <容器名> |
查看容器文件系统的变更 |
docker cp <容器名>:<容器路径> <本地路径> |
从容器复制文件到本地 |
docker cp <本地路径> <容器名>:<容器路径> |
从本地复制文件到容器 |
docker attach <容器名> |
连接到容器的标准输入/输出 |
5. 端口映射与数据卷
| 命令 | 说明 |
|---|---|
docker run -p 8080:80 <镜像> |
端口映射:宿主机 8080 → 容器 80 |
docker run -p 8080:80 -p 8443:443 <镜像> |
多端口映射 |
docker run -P <镜像> |
随机映射端口 |
docker run -v /host/path:/container/path <镜像> |
挂载宿主机目录 |
docker run --mount type=bind,src=/host,dst=/container <镜像> |
显式的挂载方式 |
docker run -v <卷名>:/container/path <镜像> |
使用数据卷挂载 |
docker volume ls |
列出数据卷 |
docker volume create <卷名> |
创建数据卷 |
docker volume inspect <卷名> |
查看数据卷详情 |
docker volume rm <卷名> |
删除数据卷 |
docker volume prune |
删除所有未使用的数据卷 |
6. 网络管理
| 命令 | 说明 |
|---|---|
docker network ls |
列出网络 |
docker network create <网络名> |
创建自定义网络(默认 bridge) |
docker network create --driver bridge --subnet 172.20.0.0/16 <网络名> |
创建指定子网的网络 |
docker network inspect <网络名> |
查看网络详情 |
docker network connect <网络名> <容器名> |
将容器连接到网络 |
docker network disconnect <网络名> <容器名> |
断开容器与网络 |
docker network rm <网络名> |
删除网络 |
docker network prune |
删除所有未使用的网络 |
7. 清理与资源回收
| 命令 | 说明 |
|---|---|
docker system prune |
删除停止的容器、未使用的网络、悬空镜像 |
docker system prune -a |
更彻底清理(包括未使用的镜像) |
docker system prune -a --volumes |
全部清理(包括数据卷) |
docker container prune |
删除所有停止的容器 |
docker image prune |
删除悬空镜像 |
docker image prune -a |
删除所有未使用的镜像 |
docker volume prune |
删除未使用的数据卷 |
docker network prune |
删除未使用的网络 |
8. Docker Compose
| 命令 | 说明 |
|---|---|
docker-compose up |
启动服务(前台运行) |
docker-compose up -d |
后台启动所有服务 |
docker-compose down |
停止并删除容器、网络 |
docker-compose down -v |
同时删除数据卷 |
docker-compose ps |
查看服务状态 |
docker-compose logs |
查看日志 |
docker-compose logs -f |
实时跟踪日志 |
docker-compose logs <服务名> |
查看指定服务的日志 |
docker-compose exec <服务名> /bin/bash |
进入某个服务的容器 |
docker-compose exec <服务名> <命令> |
在服务容器中执行命令 |
docker-compose build |
重新构建服务镜像 |
docker-compose build --no-cache |
构建时不使用缓存 |
docker-compose pull |
拉取所有服务的镜像 |
docker-compose restart |
重启所有服务 |
docker-compose stop |
停止所有服务 |
docker-compose start |
启动已存在的服务 |
docker-compose config |
验证配置文件格式 |
docker-compose config --services |
列出所有服务名 |
docker-compose -f <文件> up |
指定 compose 文件启动 |
9. 容器资源限制
| 命令 | 说明 |
|---|---|
docker run --memory="512m" <镜像> |
限制内存 512MB |
docker run --memory="1g" --memory-swap="1g" <镜像> |
限制内存和 swap 总和 1GB |
docker run --cpus="1.5" <镜像> |
限制 CPU 1.5 核 |
docker run --cpuset-cpus="0-3" <镜像> |
限制使用指定 CPU 核心 |
docker run --memory-reservation="256m" <镜像> |
设置内存软限制 |
docker update --memory="1g" <容器名> |
更新运行中容器的内存限制 |
docker update --cpus="2" <容器名> |
更新运行中容器的 CPU 限制 |
10. 常用组合命令
| 命令 | 说明 |
|---|---|
docker stop $(docker ps -q) |
停止所有运行中的容器 |
docker rm $(docker ps -aq) |
删除所有已停止的容器 |
docker rmi $(docker images -q) |
删除所有镜像 |
docker system prune -a --volumes |
一键清理(慎用) |
docker rm -f $(docker ps -aq) |
强制删除所有容器 |
docker exec -it $(docker ps -q -l) /bin/bash |
进入最后一个创建的容器 |
11. Dockerfile 常用指令
| 指令 | 说明 |
|---|---|
FROM <镜像> |
指定基础镜像 |
RUN <命令> |
执行命令(构建时) |
COPY <源> <目标> |
复制文件到镜像 |
ADD <源> <目标> |
复制文件(支持 URL 和自动解压) |
WORKDIR <路径> |
设置工作目录 |
CMD ["命令", "参数"] |
容器启动时执行的命令(可被覆盖) |
ENTRYPOINT ["命令", "参数"] |
容器启动时执行的命令(不可被覆盖) |
ENV KEY value |
设置环境变量 |
EXPOSE <端口> |
声明容器监听的端口 |
VOLUME ["/data"] |
声明数据卷 |
USER <用户名> |
指定运行用户 |
LABEL key=value |
添加元数据标签 |
ARG <变量名> |
定义构建参数 |
HEALTHCHECK CMD <命令> |
定义健康检查 |

浙公网安备 33010602011771号