Docker 容器与镜像管理

一、 镜像与容器基本操作

1. 镜像 (Image)

  • 拉取:docker pull <image_name>:<tag>
  • 列出所有镜像:docker images -a
  • 构建镜像:docker build -t <app_name>:<version> .
  • 删除镜像:docker rmi <image_id>

2. 容器 (Container)

  • 后台运行与端口映射
    docker run -d -p <宿主机端>:<容器端> --name <容器> <镜像>
  • 查看状态:docker ps -a (显示包含已停止的全部容器)。
  • 进入容器终端交互:
    docker exec -it <容器> /bin/bash  # 或 /bin/sh

二、 空间清理与垃圾回收

长期运行 Docker 会产生大量已停止的容器、悬挂镜像和无用缓存,导致磁盘占满。

1. 全局系统大扫除 (system prune)

docker system prune

此命令将一次性清除以下对象:

  1. 所有已停止的容器(Stopped containers)。
  2. 所有未被任何容器使用的虚拟网络(Unused networks)。
  3. 所有悬挂镜像(Dangling Images:没有 Tag <none>:<none> 且未被引用的镜像层)。
  4. 所有的构建缓存(Build cache)。

2. 深度彻底清理(包含未引用镜像)

如果要清理更彻底,将“有标签但目前没有容器在运行”的所有镜像一并删掉,需要加 -a 参数:

docker system prune -a --volumes

注:--volumes 参数会连同所有未被引用的命名卷/数据卷一起清理,注意备份数据。