隔了半年再登服务器,docker ps出来是空的,images列表里堆着去年拉的旧镜像。别慌,日常运维真正常用的docker 命令就十几条,按场景记比背手册快。
看状态:三条摸清现状
docker ps -a
docker images
docker system df
ps -a能看到已退出的容器,比单独的ps实用;system df统计镜像、容器和数据卷各占多少磁盘,空间报警先跑它。
起容器:run的常用参数
docker run -d --name web --restart always -p 8080:80 -v /data/web:/usr/share/nginx/html nginx
-d放后台,--name起个好认的名字,-p把宿主机8080映射到容器的80,-v挂目录做持久化,--restart always让机器重启后容器自动拉起。停和删用stop加rm,容器删了数据才真正需要靠卷兜底。
排错:看日志和进容器
docker logs --tail 100 -f web
docker exec -it web sh
日志用--tail限制行数,加-f持续滚动,报错基本都在最后几十行;exec进去能看配置、测端口连通。alpine镜像里没有bash,用sh。
清理:磁盘不够时
docker system prune -a一条命令清掉停止的容器、无用网络和没被引用的镜像,执行前确认没有要保留的停用容器。数据卷默认不删,要连卷一起清得加--volumes参数,这一步不可逆,慎用。
实际判断:ps、logs、exec三条解决八成日常问题,参数记不住就在命令后加--help看说明,比翻搜索引擎快。