Ответ 1
Функция index
- это то, что я искал. Он может искать произвольные строки на карте.
$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo
bang
Команда проверки докеров может быть очень полезна для получения меток на изображении Docker:
# -*- Dockerfile -*-
FROM busybox
LABEL foo="bar"
LABEL com.wherever.foo="bang"
Для простых имен ярлыков команда проверки имеет параметр --format
(который использует шаблоны Go), который работает хорошо.
$ docker build -t foo .
$ docker inspect -f '{{ .Config.Labels.foo }}' foo
bar
Но как мне получить доступ к меткам, у которых есть точка в их имени?
$ docker inspect -f '{{ .Config.Labels.com.wherever.foo }}' foo
<no value>
Я пишу это в bash script, где я бы хотел избежать повторного анализа вывода JSON из docker inspect
, если это возможно.
Функция index
- это то, что я искал. Он может искать произвольные строки на карте.
$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo
bang