本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本仓库包含用于通用用途和OpenShift的Cassandra镜像Dockerfile。目前仅提供基于CentOS的镜像,可在Docker Hub获取,镜像名称为centos/cassandra-3-centos7。
该容器镜像提供容器化的Cassandra守护进程和客户端应用。Cassandra服务器守护进程接受客户端连接,并代表客户端提供对Cassandra数据库内容的访问。更多关于Cassandra项目的信息可访问官方网站:[***]
cassandra.yaml和jvm.options文件适用于需要高可扩展性、高可用性的分布式数据库场景,如大规模数据存储、实时数据分析等。可用于开发环境的快速部署和生产环境的稳定运行,满足从测试到大规模应用的不同需求。
以下示例基于centos/cassandra-3-centos7镜像。若只需设置必填环境变量并将数据库存储在主机/home/user/database目录,执行以下命令:
$ docker run -d -e CASSANDRA_ADMIN_PASSWORD=<password> -v /home/user/database:/var/opt/rh/sclo-cassandra3/lib/cassandra:Z centos/cassandra-3-centos7
初始化容器时,可通过-e VAR=VALUE参数设置以下环境变量:
| 变量名 | 描述 |
|---|---|
| CASSANDRA_ADMIN_PASSWORD | 管理员用户密码 |
| 变量名 | 描述 | 默认值 |
|---|---|---|
| CASSANDRA_CLUSTER_NAME | 集群名称 | 'Test Cluster' |
| CASSANDRA_DISK_OPTIMIZATION_STRATEGY | 磁盘读取优化策略 | ssd |
| CASSANDRA_ENDPOINT_SNITCH | 节点定位和请求路由的snitch类型 | SimpleSnitch |
| CASSANDRA_NUM_TOKENS | 分配给节点的随机令牌数量 | 256 |
| CASSANDRA_RPC_ADDRESS | 客户端连接的监听地址 | ' ' |
| CASSANDRA_KEY_CACHE_SIZE_IN_MB | 键缓存的最大内存大小(MB) | ' ' |
| CASSANDRA_CONCURRENT_READS | 允许操作在栈中排队以让操作系统和驱动器重新排序 | 32 |
| CASSANDRA_CONCURRENT_WRITES | 并发写入数,推荐值为CPU核心数×8 | 32 |
| CASSANDRA_MEMTABLE_ALLOCATION_TYPE | memtable内存分配和管理方法 | 'heap_buffers' |
| CASSANDRA_MEMTABLE_CLEANUP_THRESHOLD | 自动刷新memtable的比率 | 0.5 |
| CASSANDRA_MEMTABLE_FLUSH_WRITERS | memtable刷新写入线程数 | 1 |
| CASSANDRA_CONCURRENT_COMPACTORS | 允许同时运行的并发压缩进程数 | ' ' |
| CASSANDRA_COMPACTION_THROUGHPUT_MB_PER_SEC | 压缩吞吐量限制(MB/秒) | 16 |
| CASSANDRA_COUNTER_CACHE_SIZE_IN_MB | 计数器缓存的最大内存大小(MB) | ' ' |
| CASSANDRA_INTERNODE_COMPRESSION | 节点间通信是否压缩 | all |
| CASSANDRA_GC_WARN_THRESHOLD_IN_MS | GC暂停超过此时间(毫秒)将记录WARN日志 | 1000 |
| CASSANDRA_AUTO_BOOTSTRAP | 新(非种子)节点是否自动迁移数据 | true |
更多变量详情参见:[***]
可通过-v /host:/container参数挂载以下目录:
| 容器内挂载点 | 描述 |
|---|---|
| /var/opt/rh/sclo-cassandra3/lib/cassandra | Cassandra数据目录 |
注意:从主机挂载目录到容器时,需确保挂载目录具有适当权限,且目录的所有者和组与容器内运行的用户UID或名称匹配。
Cassandra默认使用以下TCP端口:
其中,集群通信和原生协议端口可在cassandra.yaml中配置,JMX端口可在cassandra-env.sh中通过JVM选项配置。
更多硬件要求详情:[***]
支持使用自定义配置文件:
自定义cassandra.yaml:挂载到/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml,例如:
-v /home/user/cassandra.yaml:/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml:Z
自定义jvm.options:挂载到/etc/opt/rh/sclo-cassandra3/cassandra/jvm.options,例如:
-v /home/user/jvm.options:/etc/opt/rh/sclo-cassandra3/cassandra/jvm.options:Z
容器内Cassandra守护进程日志输出到标准输出,可通过以下命令查看:
docker logs <container>
参见:[***]
镜像的Dockerfile及其他源码:[***]
(CentOS的Dockerfile名为Dockerfile,RHEL的Dockerfile(开发中)名为Dockerfile.rhel7)

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429