You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker运行带TLS的Bitnami/Kafka遇证书挂载错误求助

解决Bitnami Kafka Docker容器TLS证书挂载错误

问题场景

启动启用TLS的Bitnami/Kafka容器时,触发证书挂载错误,提示需将证书挂载到/bitnami/kafka/config/certs目录,但实际配置的挂载路径和证书路径使用了conf而非config。

执行的Docker命令:

docker run --name kafka_ssl \
  -p 9092:9092 \
  -p 9093:9093 \
  -v ${HOME}/.localdev/ssl/tmp/keystore/localdev_keystore.jks:/bitnami/kafka/conf/certs/kafka.keystore.jks \
  -v ${HOME}/.localdev/ssl/tmp/truststore/localdev_truststore.jks:/bitnami/kafka/conf/certs/kafka.truststore.jks \
  -e ALLOW_PLAINTEXT_LISTENER=yes \
  -e KAFKA_CFG_ZOOKEEPER_CONNECT=${DOCKER_VM_HOST}:2181 \
  -e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,SSL:SSL \
  -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092,SSL://localhost:9093 \
  -e KAFKA_CFG_SSL_KEYSTORE_LOCATION=/bitnami/kafka/conf/certs/kafka.keystore.jks \
  -e KAFKA_CFG_SSL_KEYSTORE_PASSWORD=password \
  -e KAFKA_CFG_SSL_TRUSTSTORE_LOCATION=/bitnami/kafka/conf/certs/kafka.truststore.jks \
  -e KAFKA_CFG_SSL_TRUSTSTORE_PASSWORD=password \
  -e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,SSL://:9093 \
  -e KAFKA_CFG_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM= \
  ${DOCKER_BASE_REGISTRY}/bitnami/kafka:2.8.1

错误提示:

kafka 11:01:30.08 ERROR ==> In order to configure the TLS encryption for Kafka with JKS certs you must mount your kafka.keystore.jks and kafka.truststore.jks certs to the /bitnami/kafka/config/certs directory.

解决步骤

错误核心是路径拼写不一致:容器要求证书挂载到/bitnami/kafka/config/certs,但命令中误用了/bitnami/kafka/conf/certs(conf和config的差异)。需同步修改两处配置:

  1. 修正卷挂载路径:将挂载目标路径中的conf替换为config
  2. 修正环境变量中的证书路径:同步更新KAFKA_CFG_SSL_KEYSTORE_LOCATION和KAFKA_CFG_SSL_TRUSTSTORE_LOCATION的值为正确路径

修正后的完整Docker命令:

docker run --name kafka_ssl \
  -p 9092:9092 \
  -p 9093:9093 \
  -v ${HOME}/.localdev/ssl/tmp/keystore/localdev_keystore.jks:/bitnami/kafka/config/certs/kafka.keystore.jks \
  -v ${HOME}/.localdev/ssl/tmp/truststore/localdev_truststore.jks:/bitnami/kafka/config/certs/kafka.truststore.jks \
  -e ALLOW_PLAINTEXT_LISTENER=yes \
  -e KAFKA_CFG_ZOOKEEPER_CONNECT=${DOCKER_VM_HOST}:2181 \
  -e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,SSL:SSL \
  -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092,SSL://localhost:9093 \
  -e KAFKA_CFG_SSL_KEYSTORE_LOCATION=/bitnami/kafka/config/certs/kafka.keystore.jks \
  -e KAFKA_CFG_SSL_KEYSTORE_PASSWORD=password \
  -e KAFKA_CFG_SSL_TRUSTSTORE_LOCATION=/bitnami/kafka/config/certs/kafka.truststore.jks \
  -e KAFKA_CFG_SSL_TRUSTSTORE_PASSWORD=password \
  -e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,SSL://:9093 \
  -e KAFKA_CFG_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM= \
  ${DOCKER_BASE_REGISTRY}/bitnami/kafka:2.8.1

额外检查项:确保本地证书文件路径${HOME}/.localdev/ssl/tmp/keystore/localdev_keystore.jks和${HOME}/.localdev/ssl/tmp/truststore/localdev_truststore.jks真实存在,且文件权限允许容器读取(可通过chmod 644调整权限)。

内容的提问来源于stack exchange,提问作者Seda Saakyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 09:52:08