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

如何通过Docker Compose配置bitnami/cassandra:4.1的密码?

问题分析与解决

问题描述

使用以下docker-compose部署bitnami/cassandra:4.1容器:

version: "3.8"
services:
  cassandra:
    container_name: cassandra
    image: bitnami/cassandra:4.1
    ports:
      - "9042:9042"
    environment:
      - CASSANDRA_AUTHENTICATOR=PasswordAuthenticator
      - CASSANDRA_USER=cassandra
      - CASSANDRA_PASSWORD=password

进入容器执行echo $CASSANDRA_PASSWORD能正确显示设置的password,但连接Cassandra时仍需使用默认的cassandra/cassandra账号密码。将认证方式改为AllowAllAuthenticator时无需认证即可正常连接,说明部分环境变量生效,但无法修改连接密码。

原因

Bitnami Cassandra镜像的用户初始化逻辑仅在首次启动且数据目录为空时执行。如果之前已经启动过容器,镜像会自动创建匿名数据卷存储Cassandra的系统表(包括system_auth表,存储用户认证信息),后续修改环境变量启动容器时,因为数据卷已存在,镜像不会重新初始化用户,依然使用之前创建的默认账号密码。

解决步骤

  1. 停止并移除现有容器:
docker-compose down
  1. 删除Cassandra相关的匿名数据卷(如果是自定义命名卷,替换为对应卷名):
docker volume rm $(docker volume ls -q | grep cassandra)
  1. 重新启动容器,此时镜像会根据设置的环境变量初始化新的超级用户和密码:
docker-compose up -d

注意事项

如果需要持久化Cassandra数据,建议在docker-compose中显式配置数据卷,并且首次启动容器时就设置好正确的CASSANDRA_USER和CASSANDRA_PASSWORD,避免后续修改环境变量无法生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:27:39