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 <命令> 定义健康检查

posted @ 2026-03-26 10:43  阿宝叔  阅读(96)  评论(0)    收藏  举报