Если вы часто работаете с Docker-контейнерами, то, наверное, заметили, что плодятся эти контейнеры как кролики по весне. Порой обнаруживаешь неиспользуемый контейнер, которые годами пылится и покрывается паутиной где-то глубоко в списке остановленных.
Чтобы упростить управление своим контейнерным хозяйством, я написал простое приложение-индикатор для Ubuntu/Unity с логичным названием Docker Indicator.
Что мы умеем
Это бета-версия, которая умеет пока не очень много, но всё же может быть уже полезна:
- Меню отображает список контейнеров — как активных, так и остановленных. Список предоставляется демоном Docker и обновляется автоматически.
- По клику на пункте меню соответствующий контейнер останавливается или запускается.
- Также при остановке и запуске любого контейнера — причём необязательно посредством индикатора — выводится всплывающее уведомление.
Вот как это выглядит:
Установка
Так же, как и Sound Switcher Indicator, этот индикатор написан на Python 3.
Сначала нужно вручную установить Docker Python API — к сожалению, в репозиториях Убунту как сам Docker, так и его API очень старых версий. Установка в Ubuntu очень проста:
sudo pip3 install docker
Сам индикатор можно установить из моего PPA:
sudo apt-add-repository ppa:yktooo/ppa
sudo apt update
sudo apt install indicator-docker
В данный момент доступны сборки для Ubuntu 16.10 Yakkety Yak и Ubuntu 17.04 Zesty Zapus. При входе в систему приложение стартует автоматически.
К слову, приступив к разработке, я обнаружил, что, во-первых, у Docker есть превосходный, полностью документированный Python API, а во-вторых, что утилиты общаются с демоном посредством REST-запросов к веб-серверу последнего (их даже видно в логе, если запустить индикатор с ключом -vv
). Я просто в восторге.
Жалобы и предложения
Отчёты об ошибках лучше всего отправлять в трекер на GitHub, прикрепив консольный вывод индикатора, запущенного как:
indicator-docker -vv
Исходный код
Исходный код приложения находится в моём репозитории GitHub.
Планы на будущее
- Соорудить свою сборку
python3-docker
, чтобы его не нужно было устанавливать черезpip
. - Добавить файл настроек.
- Добавить функцию удаления контейнера.
- Добавить возможность работы с образами (images).
- … и ещё много всего можно добавить.
А вообще, в свете недавних новостей об отказе Canonical от развития Unity будущее индикаторов в целом довольно туманно… ■
Комментарии