07.01.2023

Ако ви се налага да вземете списък от вашите локални images на докер можете да използвате моя spell:

#!/bin/zsh
for image in $(docker image ls | grep k8s.gcr.io | awk '{print $1}' | uniq)
do
    echo $image
done

Какво прави скрипта?

  • Завъртаме цикъл в който итерираме docker image ls за да покажем всичките docker images (образи);
  • Отделяме всички, които са в k8s.gcr.io (можете да изпозлвате каквото ви е нужно);
  • awk изпозлваме за да отделим и покажем само първата колона (тази, която ни е нужна)

Изхода изглежда ей така:

./blog-post.sh
k8s.gcr.io/kube-apiserver:demo
k8s.gcr.io/kube-proxy:demo
k8s.gcr.io/kube-controller-manager:demo
k8s.gcr.io/kube-scheduler:demo
k8s.gcr.io/pause:demo
k8s.gcr.io/etcd:demo
k8s.gcr.io/coredns:demo

Това може да ви се стори мноооого специфичен пример, но е хубаво упражнение как в реалния свят да изпозлваме linux tooling-а за да си правим живота по-лесен.

2 Comments

  1. Сещам се за един специфичен corner case, когато това няма да сработи – uniq филтрира само съседни повтарящи се редове. Така че ще трябва един sort преди това, за да е сигурно, че наистина deduplicate-ва резултатите.

    Но като цяло, не съм сигурен защо изобщо въртиш цикъл, за едно echo, като може да стане например ей така:

    docker image ls –format ‘{{.Repository}}’ | grep k8s.gcr.io | sort -u

    PS: Абе този WordPress поддържа ли някакво форматиране при коментари? ?

  2. Мда, имаш много право. Формата, който си предложил е далеч по-добрър!

    Иначе WP не поддържа нищо в коментарите освен тегленето на някоя майна. То и в писането на постове е голяма драма форматирането… То човек да поиска ` ` и уец…

    Благодаря за коментара, Владо!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.