Docker常用命令速查表
每次要用 Docker 就临时上网翻命令,翻完复制、复制完报错、报错完再去翻第二篇——这套流程熟得跟背宫规似的,说明你平时根本没记住。别狡辩,臣妾一眼就看出来了。
所以今天这篇不扯虚的,就给你整一份 能直接抄、抄了就能干活 的 Docker 常用命令速查表。别再每次一遇到容器起不来就摆出沉思者姿势,实际上脑子一片空白,怪丢人的。
一、先看 Docker 死没死
查看版本
docker version先看客户端和服务端都在不在。你要是连这个都不先看,直接开始折腾镜像和容器,跟没睡醒就上朝一个德行。
查看详细状态
docker info这个命令能看到:
- 镜像数量
- 容器数量
- 存储驱动
- 网络驱动
- 运行环境
很多“明明装了却跑不起来”的破事,先看它,比你瞎猜一百句都有用。
二、镜像相关命令
拉镜像
docker pull nginxdocker pull node:20不写 tag 默认就是 latest。省事是省事,翻车的时候你也别喊冤。正式环境最好写明版本,不然今天能跑、明天抽风、后天你开始骂 Docker,其实蠢的是自己。
查看本地镜像
docker images或者:
docker image ls意思一样,别装高贵。
删除镜像
docker rmi nginxdocker rmi IMAGE_ID如果删不掉,十有八九是还有容器在占着。先把容器处理掉,别站那跟终端大眼瞪小眼。
三、容器相关命令
启动一个容器
docker run -d --name my-nginx -p 8080:80 nginx常用参数:
-d:后台运行--name:起名字-p:端口映射
这条命令很常见,但也最容易被你们这群偷懒鬼敲错。尤其端口写反的时候,后面查半小时都不一定能意识到是自己手贱。
查看运行中的容器
docker ps查看所有容器
docker ps -a只看 docker ps 的人,经常会得出一个愚蠢结论:
“咦,我容器呢?”
没丢,是死了。你不会查而已。
启动 / 停止已有容器
docker start my-nginxdocker stop my-nginx重启容器
docker restart my-nginx重启不是万能药,但很多时候能先救你一命。跟打工人的冰美式一样,不治本,但能续命。
删除容器
docker rm my-nginx如果容器还活着:
docker rm -f my-nginx四、日志和进容器排查
查看日志
docker logs my-nginx实时看日志
docker logs -f my-nginx容器起不来先看日志,别一张嘴就是“环境有毒”“网络有鬼”“系统针对我”。系统没空针对你,通常只是你自己配错了。
进入容器
docker exec -it my-nginx /bin/sh如果镜像里有 bash:
docker exec -it my-nginx /bin/bash进去之后常干这几件事:
- 看配置文件
- 看进程
- 看目录和权限
- 手动执行命令排障
很多问题你不进去看,永远只会在容器外面脑补,脑补个屁。
五、挂载目录和环境变量
挂载本地目录
docker run -d \ --name my-app \ -v $(pwd)/data:/app/data \ my-image这样容器里的 /app/data 就映射到本地目录。
这一步最容易出的坑有两个:
- 本地路径写错
- 挂进去了,但应用根本没读这个目录
别一看挂载写上了就自我感动,得看它有没有真生效。
传环境变量
docker run -d \ --name my-app \ -e NODE_ENV=production \ -e PORT=3000 \ my-image密码、密钥、token 这种东西别硬塞镜像里。真这么干,跟把内裤晾在宫门口没区别,纯送人看笑话。
六、网络和端口排查
查看端口映射
docker port my-nginx查看容器详细信息
docker inspect my-nginxinspect 虽然啰嗦,但出了网络问题、挂载问题、启动参数问题时,它说的话最接近实话。
如果你本机访问不了容器里的服务,重点看三件事:
- 容器是不是在运行
- 端口是不是映射了
- 服务是不是监听在正确地址
很多人把服务只监听在 127.0.0.1,然后还怪 Docker 不通。Docker 看了都想翻白眼。
七、资源清理
删除没用的容器
docker container prune删除没用的镜像
docker image prune一把清理无用资源
docker system prune如果想更狠一点:
docker system prune -a但先想清楚再下手。别清完回头哭“我镜像怎么全没了”,刀是你自己捅的,别装受害者。
八、臣妾平时怎么排 Docker 问题
我一般按这个顺序来:
docker ps -a看容器状态docker logs 容器名看报错docker inspect 容器名看端口和挂载docker exec -it 容器名 /bin/sh进去核实- 必要时
docker restart 容器名
这套不花哨,但稳。
最蠢的排障方式是什么? 就是问题还没定位,先一顿重装、重启、乱删。你以为自己在修,其实是在给问题毁尸灭迹。
结尾
Docker 本身没那么难,难的是你总爱“平时不用,出事才学”。把这篇留着,常用的先记住,不常用的直接来抄,起码能少浪费一点生命。
如果你还总把镜像、容器、挂载、端口这些概念搅成一锅粥,评论区吱一声。臣妾下篇可以继续给你写 Docker Compose / 容器部署排坑版,专治那种“命令会敲,脑子没通”的症状。
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时






