跳到主要内容

docker 的常用命令

一、基础信息命令(查看 / 帮助)

这类命令用于了解 Docker 环境和获取帮助,是入门第一步:

# 查看Docker版本(简洁版)
docker --version

# 查看Docker详细版本信息(包含客户端/服务端)
docker version

# 查看Docker系统信息(镜像、容器、存储等)
docker info

# 获取命令帮助(通用)
docker --help

# 获取指定命令的帮助(比如查看run命令的参数)
docker run --help

二、镜像操作命令(核心)

镜像是容器的"模板",以下是镜像的核心操作:

命令作用示例
docker search [镜像名]搜索 Docker Hub 上的镜像docker search nginx
docker pull [镜像名]:[标签]拉取镜像(标签默认 latest)docker pull nginx:1.25
docker images / docker image ls查看本地所有镜像docker images
docker rmi [镜像ID/镜像名]删除本地镜像(需先删依赖容器)docker rmi nginx:1.25
docker rmi -f [镜像ID]强制删除镜像(忽略容器依赖)docker rmi -f 828a0e8df33a
docker build -t [镜像名]:[标签] [Dockerfile路径]从 Dockerfile 构建镜像docker build -t myapp:v1 .(.表示当前目录)
docker save -o [文件名.tar] [镜像名]将镜像保存为 tar 包(备份)docker save -o nginx.tar nginx:1.25
docker load -i [文件名.tar]从 tar 包加载镜像(恢复)docker load -i nginx.tar

三、容器操作命令(最常用)

容器是镜像的运行实例,这部分命令是日常使用频率最高的:

1. 运行容器(创建 + 启动)

# 核心格式:docker run [参数] 镜像名 [容器内命令]
# 示例1:后台运行nginx,映射主机8080端口到容器80,命名为mynginx
docker run -d --name mynginx -p 8080:80 nginx

# 示例2:交互式运行ubuntu(进入终端),退出后自动删除容器
docker run -it --rm ubuntu /bin/bash

关键参数说明:

  • -d:后台运行容器(守护进程模式)
  • -it:交互式终端(可进入容器操作)
  • --name:自定义容器名(默认随机生成)
  • -p:端口映射(主机端口:容器端口)
  • -v:数据卷映射(主机路径 / 卷名:容器路径)
  • --rm:容器停止后自动删除(适合临时测试)

2. 查看 / 管理容器状态

# 查看运行中的容器
docker ps

# 查看所有容器(包括已停止)
docker ps -a

# 只显示容器ID(批量操作时常用)
docker ps -q

# 启动已停止的容器
docker start mynginx

# 停止运行中的容器
docker stop mynginx

# 重启容器
docker restart mynginx

# 强制停止容器(类似kill进程)
docker kill mynginx

3. 进入 / 查看容器详情

# 进入运行中的容器(推荐,不影响容器主进程)
docker exec -it mynginx /bin/bash

# 查看容器日志(-f实时跟踪,--tail 100查看最后100行)
docker logs -f --tail 100 mynginx

# 查看容器详细信息(IP、挂载、网络等)
docker inspect mynginx

4. 删除容器

# 删除已停止的容器
docker rm mynginx

# 强制删除运行中的容器
docker rm -f mynginx

# 批量删除所有已停止的容器(慎用)
docker rm $(docker ps -aq)

四、数据卷操作(持久化数据)

数据卷用于容器数据持久化(容器删除后数据不丢失):

# 创建自定义数据卷
docker volume create nginx-data

# 查看所有数据卷
docker volume ls

# 查看数据卷详情(包括存储路径)
docker volume inspect nginx-data

# 删除指定数据卷(需先解绑容器)
docker volume rm nginx-data

# 清理所有未使用的数据卷(释放空间)
docker volume prune

五、网络操作(容器互联)

# 创建自定义网络(桥接模式,容器间可通过名称通信)
docker network create my-network

# 查看所有网络
docker network ls

# 将容器连接到自定义网络
docker network connect my-network mynginx

# 断开容器与网络的连接
docker network disconnect my-network mynginx

# 删除自定义网络
docker network rm my-network

六、Docker Compose 命令(多容器编排)

用于管理多容器应用(需先安装 docker-compose):

# 启动所有服务(-d后台运行,--build重新构建镜像)
docker-compose up -d --build

# 停止并删除容器、网络(-v删除数据卷)
docker-compose down -v

# 查看Compose管理的容器
docker-compose ps

# 进入指定服务的容器
docker-compose exec web /bin/bash

# 查看服务日志(-f实时跟踪)
docker-compose logs -f web

七、系统清理命令(释放空间)

# 清理所有未使用的镜像、容器、网络、数据卷(慎用,确认无重要数据)
docker system prune -a

总结

核心高频命令

  • 镜像操作(pull/build/images/rmi)、容器操作(run/ps/exec/stop/rm)是日常使用的核心,需重点掌握。

docker run 的关键参数

  • -d(后台)、-p(端口)、--name(命名)、-v(数据卷)是最常用的,决定容器的运行方式。

优化建议

  • 数据持久化优先用 docker volume(而非主机路径映射)
  • 清理无用资源用 prune 系列命令,但需确认数据无保留价值