Loading...

Базовая настройка сервера для работы с контейнерами


13.03.2025г. | 1683 | Администрирование | Add Sky

Установка Docker

Начнем с установки Docker compose на чистый сервер с Ubuntu Server 24.04. Самый быстрый способ:

curl https://get.docker.com -o install.sh && sh install.sh
sudo systemctl enable docker.service
sudo systemctl enable docker
sudo usermod -aG docker $USER

Чтобы не использовать sudo при запуске Docker, добавьте пользователя (например, USERNAME) в группу docker:

sudo usermod -aG docker USERNAME

После выполнения этих команд перезагрузите сервер или выйдите и снова войдите в систему, чтобы изменения вступили в силу.

Установка и настройка Portainer

Portainer — это удобный веб-интерфейс для управления контейнерами Docker. Он значительно упрощает работу с контейнерами, позволяя запускать, останавливать и настраивать их через графический интерфейс без необходимости использования командной строки.

Portainer идеально подходит для пользователей, которые хотят упростить администрирование контейнеров и получить визуальное представление о загруженных образах, сетях и томах.

Установим Portainer с помощью следующей команды:

sudo docker run -d \
  -p 8000:8000 -p 9443:9443 \
  --name portainer \
  --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data \
  portainer/portainer-ce:latest

После установки Portainer будет доступен в браузере по адресу https://<IP_СЕРВЕРА>:9443. Настоятельно рекомендуется настроить доменную авторизацию, чтобы облегчить управление пользователями.

Автоматическое обновление контейнеров с Watchtower

Watchtower — это инструмент для автоматического обновления контейнеров при выходе новых версий образов. Он следит за запущенными контейнерами, сравнивает версии образов в реестре и при необходимости обновляет контейнеры до актуальных версий.

Использование Watchtower позволяет автоматически поддерживать контейнеры в актуальном состоянии без необходимости ручного обновления, что особенно удобно для развертывания критически важных сервисов.

Для его настройки создадим директорию и файл docker-compose.yml:

mkdir watchtower
cd watchtower
nano docker-compose.yml

Прописываем в docker-compose.yml настройки для отправки уведомлений в Telegram и ежедневного обновления контейнеров в 23:00:

services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    restart: unless-stopped
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock'
    environment:
      - TZ=Asia/Yekaterinburg
      - WATCHTOWER_LIFECYCLE_HOOKS=True
      - WATCHTOWER_NOTIFICATIONS=shoutrrr
      - WATCHTOWER_NOTIFICATION_URL=telegram://ТОКЕН_БОТА_ТГ@telegram/?channels=ЧАТ_ID
      - WATCHTOWER_DEBUG=true
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_SCHEDULE=0 0 23 * * *

Запускаем Watchtower в фоне:

sudo docker compose up -d

Теперь Watchtower будет ежедневно проверять обновления контейнеров и автоматически их обновлять, отправляя уведомления в Telegram о выполненных действиях.

Заключение

Теперь ваш сервер настроен для работы с контейнерами с помощью Docker. Вы можете удобно управлять контейнерами через Portainer, а также автоматически обновлять их с помощью Watchtower. Это обеспечит удобство в эксплуатации и поможет избежать проблем, связанных с устаревшими версиями образов.

Поделиться статьей: