Docker 基础与常用操作
目标
整理 Docker 日常运维中最常用的镜像、容器、日志、网络、卷和清理命令,作为 Docker 排障和生产操作入口。
适用场景
- 查看容器运行状态。
- 排查容器启动失败。
- 查看镜像、日志、端口和资源占用。
- 清理未使用镜像、容器和缓存。
- 快速理解 Docker 基础操作链路。
容器状态
docker ps
docker ps -a
docker inspect <container-name>
docker stats重点看:
- 容器是否 Running。
- 端口映射是否正确。
- 挂载目录是否正确。
- 内存和 CPU 是否异常。
日志与进入容器
docker logs <container-name>
docker logs -f <container-name>
docker logs --tail 100 <container-name>
docker exec -it <container-name> sh
docker exec -it <container-name> bash镜像操作
docker images
docker pull <image>
docker build -t <image>:<tag> .
docker rmi <image-id>网络与端口
docker network ls
docker network inspect <network-name>
docker port <container-name>排查访问失败时,优先确认:
- 容器是否监听正确端口。
docker run -p或 compose ports 是否正确。- 容器是否加入正确网络。
- 上游 Nginx 或网关是否指向正确地址。
卷与挂载
docker volume ls
docker volume inspect <volume-name>
docker inspect <container-name> | grep -A 20 Mounts清理所有未被容器使用的volume:
docker volume pruneWarning
docker volume prune会删除所有未被当前容器使用的volume。删除后,持久化数据消失,需要确认这些volume的价值。
清理命令
查看空间占用:
docker system df清理停止容器、无用网络、悬空镜像和 build cache:
docker system prune清理所有未被容器使用的镜像:
docker system prune -aWarning
docker system prune -a会删除所有未被容器使用的镜像。生产环境执行前,要确认这些镜像不需要用于快速回滚。
验证方法
docker ps -a
docker logs --tail 100 <container-name>
docker stats
docker system df确认点:
- 容器状态符合预期。
- 日志没有持续错误。
- 资源占用正常。
- 清理后关键镜像和容器仍在。