在 Docker 中,容器可以通过以下几种方式进行标识和管理:
a3b2c1d0e9f8)。a3b2c1d0e9f8),但可通过短前缀唯一匹配时使用更短的部分(如 a3b2)。docker stop a3b2)。--name 参数指定(如 docker run --name my_container nginx)。festive_minsky)。docker logs my_container)。--alias 或 Docker Compose 的 aliases 字段)。ping my-alias)。a3b2c1d0e9f8)。--hostname 参数或 hostname 字段(Docker Compose)设置。hostname 命令查看)。--label 或 Dockerfile 的 LABEL 指令添加(如 --label env=prod)。docker ps --filter "label=env=prod")。nginx:latest)。docker ps --filter "ancestor=nginx")。docker inspect --format '{{.State.Pid}}' <container> 获取)。nsenter 命令)。| 标识类型 | 示例 | 特点 | 常用命令 |
|---|---|---|---|
| 容器 ID | a3b2c1d0e9f8 |
唯一、不可变 | docker stop a3b2 |
| 容器名称 | my_container |
可读性强、可自定义 | docker logs my_container |
| 网络别名 | my-alias |
仅在自定义网络内有效 | ping my-alias |
| 主机名 | myhost |
容器内部可见 | hostname |
| 标签 | env=prod |
用于元数据分类 | docker ps --filter "label=env" |
| 镜像名称:标签 | nginx:latest |
标识容器来源 | docker run nginx:latest |
| 进程 ID (PID) | 1234 |
宿主机视角 | nsenter -t 1234 -u -i |
env=prod)。通过灵活组合这些标识方式,可以高效管理 Docker 容器。