Введение
В этой лабораторной работе вы научитесь эффективно использовать команду docker config ls для управления конфигурациями Docker. Вы начнёте с перечисления всех доступных конфигураций, а также узнаете, как их создавать и просматривать.
Далее вы изучите мощные методы фильтрации с использованием флага --filter для поиска конкретных конфигураций по имени и меткам (labels). В завершение вы узнаете, как форматировать вывод команды docker config ls для отображения информации в наиболее удобном для вас виде.
Вывести список всех конфигураций
На этом шаге вы узнаете, как вывести список всех конфигураций Docker с помощью команды docker config ls. Конфигурации Docker используются для хранения чувствительных данных или файлов конфигурации, которые могут быть доступны сервисам.
Сначала создадим простую конфигурацию. Мы создадим файл с именем my_config.txt в вашем домашнем каталоге с примерным содержимым.
echo "This is a sample configuration." > ~/my_config.txt
Теперь создадим Docker-конфигурацию из этого файла.
docker config create my_config ~/my_config.txt
В результате вы должны увидеть ID созданной конфигурации.
Теперь вы можете вывести список всех доступных конфигураций Docker с помощью команды docker config ls.
docker config ls
Эта команда отобразит таблицу с информацией о ваших конфигурациях, включая ID, Name (Имя) и CreatedAt (время создания). В списке вы должны увидеть только что созданную конфигурацию my_config.
Фильтрация конфигураций по имени
На этом шаге вы научитесь фильтровать конфигурации Docker по имени, используя флаг --filter с ключом name. Это полезно, когда у вас много конфигураций и нужно найти конкретную.
На предыдущем шаге вы создали конфигурацию с именем my_config. Давайте создадим ещё одну конфигурацию для демонстрации фильтрации.
Сначала создадим новый файл another_config.txt в домашнем каталоге.
echo "This is another configuration." > ~/another_config.txt
Теперь создадим Docker-конфигурацию из этого файла.
docker config create another_config ~/another_config.txt
Вы должны увидеть ID новой конфигурации.
Теперь выведем список всех конфигураций, чтобы увидеть обе.
docker config ls
В выводе должны отобразиться обе конфигурации: my_config и another_config.
Чтобы отфильтровать конфигурации и показать только my_config, используйте опцию --filter name=my_config.
docker config ls --filter name=my_config
Эта команда выведет только конфигурацию с именем my_config.
Аналогично, чтобы отфильтровать и показать только another_config, используйте:
docker config ls --filter name=another_config
Таким образом вы можете использовать фильтр по имени для поиска конкретных конфигураций.
Фильтрация конфигураций по меткам
На этом шаге вы научитесь фильтровать конфигурации Docker по меткам (labels), используя флаг --filter с ключом label. Метки представляют собой пары "ключ-значение", которые можно добавлять к объектам Docker для их организации и категоризации.
Сначала создадим новую конфигурацию с меткой. Создадим файл labeled_config.txt в домашнем каталоге.
echo "This config has a label." > ~/labeled_config.txt
Теперь создадим Docker-конфигурацию из этого файла, добавив метку env=production с помощью флага --label.
docker config create --label env=production labeled_config ~/labeled_config.txt
Вы должны увидеть ID созданной конфигурации.
Создадим ещё одну конфигурацию с другой меткой. Создадим файл another_labeled_config.txt.
echo "This config has a different label." > ~/another_labeled_config.txt
Теперь создадим Docker-конфигурацию с меткой env=development.
docker config create --label env=development another_labeled_config ~/another_labeled_config.txt
Выведем список всех конфигураций, чтобы увидеть новые конфигурации с метками.
docker config ls
В списке должны отобразиться labeled_config и another_labeled_config.
Для фильтрации конфигураций по метке используйте формат --filter label=<ключ>=<значение>. Например, чтобы вывести конфигурации с меткой env=production:
docker config ls --filter label=env=production
Эта команда покажет только labeled_config.
Для вывода конфигураций с меткой env=development:
docker config ls --filter label=env=development
Это покажет another_labeled_config.
Также можно фильтровать только по ключу метки, независимо от значения. Например, чтобы вывести все конфигурации с меткой env:
docker config ls --filter label=env
Это покажет обе конфигурации: labeled_config и another_labeled_config.
Форматирование вывода списка конфигураций
На этом шаге вы научитесь форматировать вывод команды docker config ls с помощью флага --format. Это позволяет настроить вывод, отображая только нужную информацию или представляя её в определённом формате, например JSON.
По умолчанию docker config ls выводит данные в табличном формате.
docker config ls
Вы можете использовать флаг --format для указания шаблона Go, который форматирует вывод. Например, чтобы отобразить только ID и имя конфигурации, используйте следующий формат:
docker config ls --format "{{.ID}}\t{{.Name}}"
Эта команда выведет ID и имя каждой конфигурации, разделённые табуляцией.
Также можно вывести данные в формате JSON, что полезно для скриптов или интеграции с другими инструментами.
docker config ls --format json
Это выведет массив JSON, где каждый элемент представляет конфигурацию.
Попробуем другой формат для отображения имени и времени создания:
docker config ls --format "Config Name: {{.Name}}, Created At: {{.CreatedAt}}"
Эта команда выведет пользовательскую строку для каждой конфигурации, показывая её имя и временную метку создания.
Вы можете изучить другие доступные поля для включения в формат, проверив конфигурацию с помощью docker config inspect <config_id>.
Например, проверим my_config для просмотра деталей. Замените <config_id> на фактический ID my_config из вывода docker config ls.
docker config inspect my_config
Вывод покажет различные поля, такие как ID, Name, CreatedAt, UpdatedAt, Spec и Version. Вы можете использовать эти имена полей в строке формата --format.
Экспериментируйте с различными строками формата, чтобы настроить вывод под ваши потребности.
Резюме
В этой лабораторной работе вы научились использовать команду docker config ls для вывода списка конфигураций Docker. Вы начали с создания тестовой конфигурации с помощью docker config create, а затем использовали docker config ls для просмотра всех доступных конфигураций, наблюдая за ID, именем и временной меткой CreatedAt.
Кроме того, вы изучили, как фильтровать список конфигураций с помощью флага --filter. Вы научились фильтровать по имени, используя --filter name=<config_name>, чтобы отображать только конфигурации, соответствующие определённому имени.



