Подключение InfluxDB в Docker Compose
Назовите свой проект
- Версия внешнего сервиса должна совпадать с версией, указанной в файле
docker-compose.yml
. - В качестве примера в этой инструкции используется проект с именем
testit
. Вы можете использовать другое название.
При настройке внешней базы данных InfluxDB установите следующие параметры:
max-series-per-database = 0 max-values-per-tag = 0
Закомментируйте или удалите секцию с сервисом БД (
influxdb
), который будет заменен на внешний сервис, зависимости от него других контейнеров (все упоминания сервиса БД в блокахdepends_on
), и его вольюм (influx-volume
) в спискеvolumes
в файлеdocker-compose.yml
.В
.env
-файле укажите данные для подключения к внешней БД, гдеexternal-server
— IP-адрес или DNS-имя вашего сервера с InfluxDB.INFLUX_CONNECTION_STRING=http://external-server:8086
Перезапустите систему Test IT:
docker compose -f docker-compose.yml --project-name testit up --detach --timeout 120 --remove-orphans
Включение аутентификации в InfluxDB
В файле
.env
раскомментируйте и при необходимости отредактируйте следующие строки:INFLUX_AUTH_ENABLED=true INFLUX_USERNAME=<USER_NAME> INFLUX_PASSWORD=<YOUR_PASSWORD> INFLUXDB_META_DIR=/var/lib/influxdb/meta2
Выполните следующую команду:
docker compose -f docker-compose.yml --project-name testit up --detach --timeout 120
Настройка безопасного соединения
Подготовьте файлы сертификатов — корневой
ca.crt
, а также подписанные с помощью него сертификат и ключ сервераserver.crt
иserver.key
. CN сертификата сервера должен бытьinfluxdb
.Скопируйте файлы
server.crt
иserver.key
дляinfluxdb
с вольюм:server_certs=$(docker inspect testit_influx-tls-volume --format '{{ .Mountpoint }}') cp server.crt ${server_certs}/ cp server.key ${server_certs}/
Скопируйте файл сертификата CA, с помощью которого были выписаны сертификаты серверов, в вольюм
trusted-certificates-volume
:trusted_certs=$(docker inspect testit_trusted-certificates-volume --format '{{ .Mountpoint }}') cp ca.crt ${trusted_certs}/
В файле
.env
:Измените значение переменной для подключения к
influxdb
с использованием HTTPS:INFLUX_CONNECTION_STRING=https://influxdb:8086
Раскомментируйте и при необходимости отредактируйте следующие строки:
INFLUXDB_HTTP_HTTPS_ENABLED=true INFLUXDB_HTTP_HTTPS_CERTIFICATE=/var/lib/influxdb/tls/server.crt INFLUXDB_HTTP_HTTPS_PRIVATE_KEY=/var/lib/influxdb/tls/server.key
Чтобы изменения вступили в силу, перезапустите сервис
influxdb
, а затем примените изменения в файле.env
с помощьюdocker compose
:docker restart testit_influxdb_1 docker compose -f docker-compose.yml --project-name testit up --detach --timeout 120