Docker作为容器化技术的代表,提供了丰富的命令来管理镜像、容器、网络等核心组件,以下从镜像管理、容器操作、数据卷与网络、系统信息四个维度,详细解析常用Docker命令及其使用场景。

镜像管理命令
镜像是容器的基础,Docker通过docker image
或简化的docker
命令管理镜像生命周期,拉取镜像时,使用docker pull [镜像名]:[标签]
,如docker pull nginx:latest
会从Docker Hub拉取最新版Nginx镜像,查看本地镜像列表需执行docker images
,该命令会显示镜像ID、大小、创建时间等信息,删除镜像则通过docker rmi [镜像ID或名称]
,若镜像被容器引用需先停止并删除容器,构建自定义镜像时,需在Dockerfile所在目录执行docker build -t [自定义名称]:[标签] .
,其中-t
用于指定镜像名称,表示构建上下文为当前目录。docker tag [源镜像ID] [新名称]:[新标签]
可对现有镜像进行重命名或打标签,便于版本管理。
容器操作命令
容器是镜像的运行实例,其管理命令涵盖创建、启动、停止、删除等全流程,创建容器时,docker run
是最核心的命令,常用参数包括-d
(后台运行)、-p [主机端口]:[容器端口]
(端口映射)、--name [容器名]
(指定容器名称)及-v [主机目录]:[容器目录]
(挂载数据卷),例如docker run -d --name mynginx -p 8080:80 nginx
会以后台模式启动一个名为mynginx
的Nginx容器,并将主机8080端口映射至容器80端口,查看运行中的容器使用docker ps
,添加-a
参数可查看所有容器(包括已停止),停止容器执行docker stop [容器ID或名称]
,启动已停止的容器则用docker start [容器ID或名称]
,删除容器需通过docker rm [容器ID或名称]
,强制删除可加-f
参数,进入容器交互式环境有两种方式:docker exec -it [容器ID] /bin/bash
(推荐,可在运行中容器执行命令)或docker attach [容器ID]
(附加到容器终端)。
数据卷与网络管理
数据卷(Volume)实现容器数据持久化,命令docker volume create [卷名]
可创建数据卷,docker volume ls
查看所有卷,docker volume rm [卷名]
删除卷,挂载数据卷时,可直接在docker run
中使用-v
参数,如-v myvol:/data
将名为myvol
的卷挂载至容器/data
目录,网络管理方面,默认Docker会创建桥接网络,自定义网络可通过docker network create [网络名]
实现,docker network ls
查看网络列表,容器加入指定网络使用docker network connect [网络名] [容器ID]
,断开则用docker network disconnect
,自定义网络的优势在于支持服务发现,容器可通过容器名相互通信。
系统信息与日志查询
查看Docker系统信息(如版本、存储驱动等)执行docker info
,而docker version
则显示客户端和服务端的详细版本号,容器日志查询是排查问题的关键,docker logs [容器ID]
可查看所有日志,-f
参数实时跟踪日志输出,--tail [行数]
限制显示最新日志行数,例如docker logs -f --tail 100 mynginx
会实时显示mynginx
容器的最新100行日志。

相关操作命令参考表
命令分类 | 常用命令 | 功能描述 |
---|---|---|
镜像管理 | docker pull | 拉取远程镜像 |
docker images | 列出本地镜像 | |
docker build | 构建自定义镜像 | |
容器操作 | docker run | 创建并启动容器 |
docker ps | 列出运行中的容器 | |
docker exec 在运行容器中执行命令 | ||
数据卷管理 | docker volume create | 创建数据卷 |
网络管理 | docker network create | 创建自定义网络 |
日志查询 | docker logs | 查看容器日志 |
相关问答FAQs
Q1: 如何彻底删除Docker中的所有镜像和容器?
A: 可分两步执行:首先删除所有容器,命令为docker rm $(docker ps -aq)
(-aq
参数表示过滤出所有容器的ID);然后删除所有镜像,命令为docker rmi $(docker images -q)
,若需强制删除被占用的镜像,可在docker rmi
后添加-f
参数。
Q2: Docker容器退出后如何自动删除?
A: 在docker run
命令中添加--rm
参数即可实现容器退出后自动删除,例如docker run --rm -it ubuntu /bin/bash
,当容器退出后(如执行exit
命令),容器及其文件系统会被自动清理,适合临时测试场景。
