Я пытаюсь найти правильный способ получить только 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}}'