簡體   English   中英

Docker-Compose 上的 InfluxDB 無法讀取 SSL 證書文件

[英]InfluxDB on Docker-Compose can't read SSL cert file

我在嘗試使用在 Docker Compose 上運行的 InfluxDB v1.8 配置 SSL 時遇到了一些麻煩。

我按照官方文檔啟用帶有自簽名證書的 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

您知道為什么會發生這種情況以及如何解決嗎?

docker-compose.yml中傳遞的環境變量是字符串。 您不需要傳遞引號。
Influx DB 正在"/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
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM