Назад | Перейти на главную страницу

Ищете способ Docker получить только 1-й тег репозитория в docker inspect

Я пытаюсь найти правильный способ получить только 1-й тег репозитория образа Docker в оболочке Linux.

Этого можно безобразно добиться:

docker inspect e77e5ce5d4e3 --format='{{.RepoTags}}' | tr -d "\[\]" | cut -f 1 -d ","

Это сказано в https://docs.docker.com/config/formatting/ что Docker использует Шаблоны Go. Глядя на эту страницу, я не смог найти способ получить только часть диапазона. Есть ли способ сделать это? Если так, то, что это?

Вы можете использовать index операция:

docker inspect e77e5ce5d4e3 --format='{{index .RepoTags 0}}'

Хорошо, поэтому на основе https://stackoverflow.com/questions/50882553/iterate-over-a-variable-number-of-items-in-a-template-slice решение:

docker inspect e77e5ce5d4e3 --format='{{range $index, $rt := .RepoTags}} {{if le $index 1}} {{$rt}} {{end}} {{end}}'