[英]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.