Skip to content

KeksKlip/prometheus-script-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 

Repository files navigation

Prometheus script in Docker

Docker-контейнер для сборки прошивок роутеров с помощью скрипта Prometheus. Необходим Docker.

Сборка образа

Собрать образ prometheus (имя произвольно):

docker build -t prometheus 'https://github.com/KeksKlip/prometheus-script-docker.git#main'

Впоследствии на базе него будут создаваться контейнеры. Сборка производится однократно, в дальнейшем повторять её не требуется, если вы не решите изменить Dockerfile.

Создание, запуск и работа с контейнерами

  • Создать и запустить новый контейнер prometheus-1 (имя произвольно) из образа prometheus:

    docker run -it --name prometheus-1 prometheus

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

  • Повторно запустить контейнер после его остановки:

    docker start -ai prometheus-1
  • Подключиться к терминалу запущенного контейнера:

    docker exec -it prometheus-1 bash
  • Создать новый контейнер prometheus-2 из того же образа:

    docker run -it --name prometheus-2 prometheus

    Контейнеры не связаны между собой, каждый имеет своё хранилище.

  • Удалить контейнер prometheus-2:

    docker container rm prometheus-2
  • Создать новый одноразовый контейнер:

    docker run --rm -it --name prometheus-3 prometheus

    Такой контейнер будет автоматически удалён после выхода из него.

  • Создать новый контейнер, разместив папку Prometheus в /tmp/prometheus на хосте:

    docker run -it -v /tmp/prometheus:/opt/prometheus --name prometheus-4 prometheus bash

    Это бывает полезно, чтобы сделать папку Prometheus легко доступной на хосте (например, чтобы изменить какие-то файлы или забрать собранные файлы) или чтобы разместить папку Prometheus в ФС в RAM / ZRAM для ускорения сборки.

    Заметьте, что в примере выше стартовая команда заменена со стандартной на шелл bash. Дело в том, что если в соответствующей папке на хосте нет скрипта Prometheus (start.sh), контейнер не сможет его запустить. Поэтому вместо скрипта запускаем шелл, чтобы вручную скачать и запустить скрипт:

    wget -O "$APP_LAUNCHER_NAME" "$APP_URL" && \
    chmod +x "$APP_LAUNCHER_NAME" && \
    ./"$APP_LAUNCHER_NAME"

    Если в соответствующей папке на хосте у вас уже есть скрипт Prometheus, абзац выше можно игнорировать, и просто убрать bash из команды запуска контейнера выше, чтобы Prometheus запустился автоматически.

About

Prometheus script in Docker

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •