要判断一个容器是用了什么服务名,要看你使用的容器编排工具或运行方式:
一、Docker Compose 场景
示例:docker-compose.yml
services:
redis:
image: redis:7
api:
build: .
depends_on:
- redis
判断方法:
- 查看容器所属服务名:
sudo docker ps --format "table {{.Names}}\t{{.Label \"com.docker.compose.service\"}}"
输出类似:
NAMES service
dsp-mysql mysql
zookeeper zookeeper
dsp-frontend frontend
dsp-backend backend
dsp-redis redis
canal
kibana
es
其中 com.docker.compose.service
就是服务名。
- 或直接 inspect 某个容器:
docker inspect <container_id or name> --format '{{ index .Config.Labels "com.docker.compose.service" }}'
二、Docker 单独启动(非 Compose)
如果你是用 docker run
单独启动的容器,那么它没有“服务名”的概念。
你可以:
docker inspect <container-id> | jq '.[0].Name'
但这种方式没有服务名,除非你自己用 --name
或 --label
指定过。