Короткая заметка о том, как упростить себе жизнь при работе с докером. Если честно, это это единственная админка, которую я пробовал ставить, но на данный момент она покрывает 80% моих задач, и лишь в 20% случаев приходится заходить в консоль и писать команды ручками, в частности, при работе с docker-compose. Наверняка существуют более продвинутые решения, но это уже тема для полноценного ресёрча.
Этот web-ui для управления докером поставляется в виде докер-контейнера, что весьма удобно и демонстративно. Далее приведу краткую инструкцию по установке и настройке Portainer.
Установка Portainer для управления docker-хостом
Шаг 1. Создать папку для хранения данных, которые не желательно терять.
mkdir /root/portainer/data
Шаг 2. Запустить контейнер, пробросить в него папку для данных, сокет для доступа к докеру и порт для доступа.
docker run --name portainer -d -p 9000:9000 -v /root/portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
Шаг 3.
Portainer GUI: http://<serverip>:9000
Остановка, перезапуск, удаление и переустановка Portainer
Далее можно манипулировать контейнером уже по имени, указанному во время запуска, в моём случае это —name portainer. Например:
docker stop portainer
docker start portainer
Для того, чтобы Portainer стартовал при загрузке системы, нужно немного видоизменить команду запуска, добавив —restart=always. Если контейнер уже был создан — предварительно его удалить. Не нужно бояться потери данных, так как они вынесены из контейнера в папку хоста из шага 1.
docker rm portainer
docker run --name portainer --restart=always -d -p 9000:9000 -v /root/portainer/data:/data -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
Теперь можно перезагрузить сервер и убедиться, что контейнер с Portainer загружается автоматически. Если перезагрузка не допустима, то можно просто остановить и запустить сам докер.
service docker stop
service docker start
В одной из следующих заметок я расскажу про свои настройки брандмауэра с помощью iptables при работе с докером.