如何从容器内获取容器ID

时间:2018-01-10 06:20:47

标签: docker docker-compose

我正在尝试在启动时获取正在运行的容器的容器ID。这是在服务健康检查apis中使用该信息。

我有一个负载均衡器坐在一组容器前面,并通过https://service-n.api.com/health定期进行健康检查。想法是使用api响应返回容器信息。

我正在使用docker-compose来启动docker容器,如果有一种方法可以将容器id作为环境变量传递给容器,那就太好了。

version: '2'
services:
  web:
    image: my.registry.com/pq-api:1.0.0
    container_name: my-container
    ports:
      - 80:80
      - 443:443
    network_mode: bridge
    environment:
      CONTAINER_ID: "{{.ID}}"

1 个答案:

答案 0 :(得分:1)

默认情况下,容器ID已可用于环境变量HOSTNAME

内的所有容器
$ docker run alpine env

   HOSTNAME=....
   ....