docker常用命令按镜像、容器、数据卷、网络四类对象,结合pull/run/ls/rm等动词覆盖90%场景:拉取镜像(docker pull)、运行容器(docker run -d/-it)、查看状态(docker ps/logs/inspect)、持久化数据(docker volume create/-v挂载)、清理资源(docker system prune -a)。
掌握 docker 常用命令,关键不在背诵,而在理解“操作对象”和“动作意图”。镜像、容器、数据卷、网络这四类对象,配合 pull/run/ls/rm 等基础动词,就能覆盖 90% 的日常场景。下面按真实工作流梳理最核心、最常敲的命令,每条都带典型用法和避坑提示。
拉镜像、跑容器:从零启动服务
这是每天最先敲的几条命令,也是新手最容易卡住的地方:
- docker pull nginx:从 Docker Hub 拉取官方 nginx 镜像(默认 latest 标签)。国内建议先配置镜像加速器,否则可能超时失败。
- docker run -d --name my-nginx -p 8080:80 nginx:后台启动一个名为 my-nginx 的容器,把宿主机 8080 端口映射到容器内 80 端口。注意 -p 是端口映射,不是端口开放,宿主机防火墙仍需放行。
-
docker run -it ubuntu:22.04 /bin/bash:交互式进入一个临时 Ubuntu 容器,适合快速测试命令或调试环境。退出 shell 后容器默认停止(除非加
--rm)。
查状态、看日志:排查问题第一步
服务没反应?端口不通?别急着删重来,先确认当前状态:
-
docker ps:只看正在运行的容器;加
-a可查看所有容器(含已退出的),方便定位启动失败原因。 -
docker logs my-nginx:输出容器启动以来的标准输出/错误日志。加
-f实时跟踪,等价于tail -f。 - docker inspect my-nginx:查看容器详细信息,包括 IP 地址、挂载路径、网络配置、启动命令等。遇到“连不上容器”时,先查它的 IPAddress 和 PortBindings。
管数据、保持久:避免删容器丢数据
容器删了,里面改的配置、生成的日志、上传的文件全没了——这是新手最常踩的坑。数据卷是解药:
- docker volume create app-data:创建一个名为 app-data 的命名卷,Docker 自动管理存储位置。
-
docker run -v app-data:/app/data nginx:把命名卷挂载到容器内
/app/data目录。即使容器删除,app-data卷里的内容还在。 -
docker run -v $(pwd)/logs:/var/log/nginx nginx:绑定挂载(bind mount),直接把当前目录的
logs文件夹映射进容器。适合开发时共享源码或日志目录,但注意路径必须是绝对路径($(pwd)在 Linux/macOS 有效,Windows 用%cd%)。
清空间、理资源:保持本地环境干净
用久了,镜像越下越多,停止的容器堆成山,磁盘很快告急:
- docker system df:查看 Docker 占用的磁盘空间明细(镜像、容器、卷、构建缓存各占多少)。
- docker container prune:一键清理所有已停止的容器(会提示确认)。
-
docker image prune -a:删除所有未被任何容器引用的镜像(加
-a表示全部,不加只删悬空镜像<none></none>)。 - docker system prune -a:彻底清理——容器、网络、镜像、构建缓存全清(慎用,生产环境勿执行)。











