Хобрук: Ваш путь к мастерству в программировании

InfluxDB на Docker-Compose не может прочитать файл сертификата SSL

У меня возникли проблемы с настройкой SSL с InfluxDB v1.8, работающим в Docker Compose.

Я следовал официальная документация для включения HTTPS с самозаверяющим сертификатом, но контейнер вылетает со следующей ошибкой:

run: open server: open service: open "/etc/ssl/influxdb-selfsigned.crt": no such file or directory

Это работает, если я запускаю эту конфигурацию с помощью команды docker run:

docker run -p 8086:8086 -v $PWD/ssl:/etc/ssl \
  -e INFLUXDB_DB=db0 \
  -e INFLUXDB_ADMIN_USER=admin \
  -e INFLUXDB_ADMIN_PASSWORD=supersecretpassword \
  -e INFLUXDB_HTTP_HTTPS_ENABLED=true \
  -e INFLUXDB_HTTP_HTTPS_CERTIFICATE="/etc/ssl/influxdb-selfsigned.crt" \
  -e INFLUXDB_HTTP_HTTPS_PRIVATE_KEY="/etc/ssl/influxdb-selfsigned.key" \
  -d influxdb

Мой docker-compose.yml выглядит следующим образом:

version: "3"
services:
  influxdb:
    image: influxdb
    ports:
      - "8086:8086"
    volumes:
      - influxdb:/var/lib/influxdb
      - ./ssl:/etc/ssl/
    environment:
      - INFLUXDB_DB=db0
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=supersecretpassword
      - INFLUXDB_HTTP_HTTPS_ENABLED=true
      - INFLUXDB_HTTP_HTTPS_CERTIFICATE="/etc/ssl/influxdb-selfsigned.crt"
      - INFLUXDB_HTTP_HTTPS_PRIVATE_KEY="/etc/ssl/influxdb-selfsigned.key"
      - INFLUXDB_HTTP_AUTH_ENABLED=true

volumes:
  influxdb:

Если я установлю для INFLUXDB_HTTP_HTTPS_ENABLED значение false, я увижу, что файлы сертификатов и ключей смонтированы, как и должны, в /etc/ssl в контейнере ( docker exec -it airq_influxdb_1 ls -la /etc/ssl )

У вас есть идеи, почему это происходит и как это решить?


Ответы:


1

Переменные среды, переданные в docker-compose.yml, являются строками. Вам не нужно передавать кавычки.
БД притока ищет сертификат под "/etc/ssl/influxdb-selfsigned.crt"...буквально

Просто удалите кавычки, и БД запустится:

...
      - INFLUXDB_HTTP_HTTPS_ENABLED=true
      - INFLUXDB_HTTP_HTTPS_CERTIFICATE=/etc/ssl/influxdb-selfsigned.crt
      - INFLUXDB_HTTP_HTTPS_PRIVATE_KEY=/etc/ssl/influxdb-selfsigned.key
...
30.08.2020
Новые материалы

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

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..

React Hooks: основы деструктуризации массива
Kent C. Dodds написал классный пост о том, как грядущая функция React под названием Hooks работает на капоте. Предстоящий хук React useState основан на деструктурировании массива, давайте..

Пакеты R, используемые в Tesla
Добро пожаловать обратно! R — очень популярный язык программирования, используемый множеством компаний, включая Tesla! Итак, давайте взглянем на некоторые пакеты R, которые использует Tesla...

Сокращение и слияние токенов для эффективных моделей VL: обзор
Часто в задачах, связанных с компьютерным зрением и НЛП, вычислительно затратная и требующая большого объема памяти обработка становится препятствием для более быстрого логического вывода модели, а..