从容器读取docker标签

Den*_*nge 7 docker

是否可以在正在运行的容器中获取当前图像标签?目前,我正在传递一个与标签名称相同的环境变量,但是如果我能以某种方式从docker提供的环境变量中读取它,那就太好了。

<name>/<image>:<tag>
Run Code Online (Sandbox Code Playgroud)

我正在sed基于进行配置<tag>

小智 4

如果您不介意将curl和jq添加到容器中并安装docker套接字,则可以通过在容器内运行以下脚本来检索图像:

#!/bin/bash

CONTAINER_ID=$(head -1 /proc/self/cgroup | rev | cut -d/ -f 1 | rev)
curl --unix-socket /var/run/docker.sock http:/v1.40/containers/{$CONTAINER_ID}/json | jq .Config.Image
Run Code Online (Sandbox Code Playgroud)

第一行从 /proc/self/cgroup 获取容器 ID,第二行使用 docker api 检查容器。