本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
本仓库包含用于通用用途和OpenShift的Cassandra镜像的Dockerfile。目前仅提供基于CentOS的镜像,该CentOS镜像可在Docker Hub上获取,镜像名为centos/cassandra-3-centos7。
该容器镜像提供了Cassandra守护进程和客户端应用的容器化打包。Cassandra服务器守护进程接受客户端连接,并代表客户端提供对Cassandra数据库内容的访问。有关Cassandra项目的更多信息,请访问项目网站([***]
假设您使用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参数传递给Docker run命令进行设置。
| 变量名 | 描述 |
|---|---|
| CASSANDRA_ADMIN_PASSWORD | 管理员用户的密码 |
以下环境变量会影响Cassandra配置文件,均为可选参数。
| 变量名 | 描述 | 默认值 |
|---|---|---|
| CASSANDRA_CLUSTER_NAME | 集群名称 | 'Test Cluster' |
| CASSANDRA_DISK_OPTIMIZATION_STRATEGY | 磁盘读取优化策略 | ssd |
| CASSANDRA_ENDPOINT_SNITCH | Cassandra使用snitch定位节点和路由请求 | SimpleSnitch |
| CASSANDRA_NUM_TOKENS | 定义随机分配给此节点的令牌数量 | 256 |
| CASSANDRA_RPC_ADDRESS | 客户端连接的监听地址 | ' ' |
| CASSANDRA_KEY_CACHE_SIZE_IN_MB | 键缓存的最大内存大小(MB) | ' ' |
| CASSANDRA_CONCURRENT_READS | 允许操作在栈中排队足够低,以便操作系统和驱动器可以重新排序它们 | 32 |
| CASSANDRA_CONCURRENT_WRITES | Cassandra中的写入很少受I/O限制,因此理想的并发写入数取决于节点上的CPU核心数。推荐值为8×CPU核心数 | 32 |
| CASSANDRA_MEMTABLE_ALLOCATION_TYPE | Cassandra分配和管理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标志向Docker传递以下挂载点。
| 卷挂载点 | 描述 |
|---|---|
| /var/opt/rh/sclo-cassandra3/lib/cassandra | Cassandra数据目录 |
注意:将主机目录挂载到容器中时,确保挂载的目录具有适当的权限,且目录的所有者和组与容器内运行的用户UID或名称匹配。
默认情况下,Cassandra使用7000端口进行集群通信(启用SSL时为7001),9042端口用于原生协议客户端,7199端口用于JMX。节点间通信和原生协议端口可在Cassandra配置文件(cassandra.yaml)中配置。JMX端口可在cassandra-env.sh中通过JVM选项配置。所有端口均为TCP端口。
参见[***]
有关硬件要求的更多信息,请参见[***]
允许为Cassandra服务器使用自定义配置文件。
要在容器中使用自定义配置文件,需将其挂载到/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml。例如,要使用存储在/home/user目录中的配置文件,可在docker run命令中使用以下选项:-v /home/user/cassandra.yaml:/etc/opt/rh/sclo-cassandra3/cassandra/cassandra.yaml:Z。
要配置多个JVM选项,需将jvm.options文件挂载到容器中。例如,要使用存储在/home/user目录中的配置文件,可在docker run命令中使用以下选项:-v /home/user/jvm.options:/etc/opt/rh/sclo-cassandra3/cassandra/jvm.options:Z。
容器中的Cassandra守护进程日志输出到标准输出,因此日志可在容器日志中查看。可通过以下命令检查日志:
docker logs <container>
此容器镜像的Dockerfile和其他源代码可在[***]

免费版仅支持 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