注意: 这是 https://hub.docker.com/_/cassandra 的 arm64v8 架构构建的“每架构”仓库——更多信息,请参见官方镜像文档中的“https://github.com/docker-library/official-images#architectures-other-than-amd64%E2%80%9D%E5%92%8C%E5%AE%98%E6%96%B9%E9%95%9C%E5%83%8F%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E4%B8%AD%E7%9A%84%E2%80%9Chttps://github.com/docker-library/faq#an-images-source-changed-in-git-now-what%E2%80%9D%E3%80%82
维护者: https://github.com/docker-library/cassandra
获取帮助: Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
Dockerfile 链接https://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/5.0/Dockerfile
https://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/4.1/Dockerfile
https://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/4.0/Dockerfile
https://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/3.11/Dockerfile
https://github.com/docker-library/cassandra/blob/793ea6b2a8097d629252fe77585775443b53e4c3/3.0/Dockerfile
问题提交地址: https://github.com/docker-library/cassandra/issues?q=
支持的架构: (https://github.com/docker-library/official-images#architectures-other-than-amd64) https://hub.docker.com/r/amd64/cassandra/%E3%80%81https://hub.docker.com/r/arm32v7/cassandra/%E3%80%81https://hub.docker.com/r/arm64v8/cassandra/%E3%80%81https://hub.docker.com/r/ppc64le/cassandra/%E3%80%81https://hub.docker.com/r/s390x/cassandra/
已发布镜像制品详情: https://github.com/docker-library/repo-info/blob/master/repos/cassandra%EF%BC%88https://github.com/docker-library/repo-info/commits/master/repos/cassandra%EF%BC%89 (镜像元数据、传输大小等)
镜像更新: https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fcassandra https://github.com/docker-library/official-images/blob/master/library/cassandra%EF%BC%88https://github.com/docker-library/official-images/commits/master/library/cassandra%EF%BC%89
本描述的来源: https://github.com/docker-library/docs/tree/master/cassandra%EF%BC%88https://github.com/docker-library/docs/commits/master/cassandra%EF%BC%89
Apache Cassandra 是一个开源分布式数据库管理系统,旨在跨多台普通服务器处理大量数据,提供高可用性且无单点故障。Cassandra 支持跨多个数据中心的集群,通过异步无主复制为所有客户端提供低延迟操作。
***.org/wiki/Apache_Cassandra
!https://raw.githubusercontent.com/docker-library/docs/fb8596d619703fc556e6d56e***d8bfdf***/cassandra/logo.png
cassandra 服务器实例启动 Cassandra 实例非常简单:
console$ docker run --name some-cassandra --network some-network -d arm64v8/cassandra:tag
其中 some-cassandra 是你要分配给容器的名称,tag 是指定你想要的 Cassandra 版本的标签。参见上方列表获取相关标签。
使用下文记录的环境变量,可以实现两种集群场景:同一台机器上的实例和不同机器上的实例。对于同一台机器,按上述方式启动实例。要启动其他实例,只需告诉每个新节点第一个节点的位置。
console$ docker run --name some-cassandra2 -d --network some-network -e CASSANDRA_SEEDS=some-cassandra arm64v8/cassandra:tag
对于不同机器(例如,云提供商上的两个 VM),需要告诉 Cassandra 要向其他节点通告的 IP 地址(因为容器的地址在 docker 桥接后面)。
假设第一台机器的 IP 地址是 10.42.42.42,第二台是 10.43.43.43,启动第一台时暴露 gossip 端口:
console$ docker run --name some-cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.42.42.42 -p 7000:7000 arm64v8/cassandra:tag
然后在第二台机器上启动 Cassandra 容器,暴露 gossip 端口并将种子指向第一台机器:
console$ docker run --name some-cassandra -d -e CASSANDRA_BROADCAST_ADDRESS=10.43.43.43 -p 7000:7000 -e CASSANDRA_SEEDS=10.42.42.42 arm64v8/cassandra:tag
cqlsh 连接到 Cassandra以下命令启动另一个 Cassandra 容器实例,并针对原始 Cassandra 容器运行 cqlsh(Cassandra 查询语言 shell),允许你对数据库实例执行 CQL 语句:
console$ docker run -it --network some-network --rm arm64v8/cassandra cqlsh some-cassandra
有关 CQL 的更多信息,请参见 Cassandra 文档。
docker exec 命令允许你在 Docker 容器内运行命令。以下命令将为你提供 cassandra 容器内的 bash shell:
console$ docker exec -it some-cassandra bash
Cassandra 服务器日志可通过 Docker 的容器日志查看:
console$ docker logs some-cassandra
向 cassandra 镜像提供配置的最佳方式是提供自定义的 /etc/cassandra/cassandra.yaml 文件。有多种方式可将此文件提供给容器(通过简短的 Dockerfile 使用 FROM + COPY、通过 Docker Configs、通过运行时绑定挂载等),具体细节留给读者自行探索。
要使用不同的文件名(例如,避免所有镜像提供的配置行为),使用 -Dcassandra.config=/path/to/cassandra.yaml 作为镜像的参数(例如,docker run ... arm64v8/cassandra -Dcassandra.config=/path/to/cassandra.yaml)。
镜像支持少量环境变量,这些变量将以某种方式修改 /etc/cassandra/cassandra.yaml(但脚本正在修改 YAML,因此本质上是脆弱的):
CASSANDRA_LISTEN_ADDRESS:控制监听传入连接的 IP 地址,默认 auto(容器启动时的 IP),对应 listen_address 配置。CASSANDRA_BROADCAST_ADDRESS:控制向其他节点通告的 IP 地址,默认同 CASSANDRA_LISTEN_ADDRESS,对应 broadcast_address 和 broadcast_rpc_address 配置。CASSANDRA_RPC_ADDRESS:控制 thrift rpc 服务器绑定地址,默认 0.0.0.0,对应 rpc_address 配置。CASSANDRA_START_RPC:控制是否启动 thrift rpc 服务器,对应 start_rpc 配置。CASSANDRA_SEEDS:gossip 引导新节点的种子 IP 列表,对应 seed_provider 的 seeds 值,会添加 CASSANDRA_BROADCAST_ADDRESS。CASSANDRA_CLUSTER_NAME:集群名称,所有节点需一致,对应 cluster_name 配置。CASSANDRA_NUM_TOKENS:节点的令牌数,对应 num_tokens 配置。CASSANDRA_DC:节点的数据中心名称,需配合 CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch 生效,对应 cassandra-rackdc.properties 的 dc 配置。CASSANDRA_RACK:节点的机架名称,需配合 CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch 生效,对应 cassandra-rackdc.properties 的 rack 配置。CASSANDRA_ENDPOINT_SNITCH:节点使用的 snitch 实现,对应 endpoint_snitch 配置。建议通过挂载主机目录持久化存储数据,步骤如下:
/my/own/datadir。其中console$ docker run --name some-cassandra -v /my/own/datadir:/var/lib/cassandra -d arm64v8/cassandra:tag
-v /my/own/datadir:/var/lib/cassandra 将主机目录挂载到容器内 Cassandra 数据目录。容器启动时若未初始化数据库,会创建默认数据库,期间无法接受连接。自动化工具(如 Docker Compose)同时启动多容器时可能受此影响。
查看镜像中软件的 许可信息。镜像可能包含其他软件,其许可信息可参考 https://github.com/docker-library/repo-info/tree/master/repos/cassandra%E3%80%82%E4%BD%BF%E7%94%A8%E5%89%8D%E8%AF%B7%E7%A1%AE%E4%BF%9D%E7%AC%A6%E5%90%88%E6%89%80%E6%9C%89%E8%BD%AF%E4%BB%B6%E8%AE%B8%E5%8F%AF%E8%A6%81%E6%B1%82%E3%80%82
以下是 arm64v8/cassandra 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务