本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

ScyllaDB是一款高性能NoSQL数据库系统,完全兼容Apache Cassandra。该数据库以开源形式发布,遵循GNU Affero通用公共许可证第3版(AGPLv3)和Apache许可证,可免费使用和修改。
ScyllaDB的核心设计目标是提供极高的吞吐量和低延迟,适用于需要处理大规模数据集的场景。通过Docker镜像,用户可快速部署单节点或多节点ScyllaDB集群,简化开发、测试和生产环境的搭建流程。
cqlsh、nodetool),可无缝迁移现有Cassandra应用。aio-max-nr)以优化性能。通过以下命令启动单节点ScyllaDB集群(开发者模式),限制使用1个CPU核心:
docker run --name some-scylla --hostname some-scylla -d scylladb/scylla --smp 1
说明:
--smp 1:限制CPU核心数(生产环境需根据内核参数调整,详见下文)。--developer-mode 1),放松对XFS文件系统等配置的检查,适合测试。启动基础ScyllaDB节点(默认启用开发者模式):
docker run --name some-scylla --hostname some-scylla -d scylladb/scylla
nodetool查看节点状态docker exec -it some-scylla nodetool status
示例输出:
Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 172.17.0.2 125.51 KB 256 100.0% c9155121-786d-44f8-8667-a8b915b95665 rack1
cqlsh连接数据库docker exec -it some-scylla cqlsh
示例输出:
Connected to Test Cluster at 172.17.0.2:9042. [cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.1 | Native protocol v3] Use HELP for help. cqlsh>
以现有节点为种子,启动第二个节点:
# 获取第一个节点的IP SEED_IP=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-scylla) # 启动第二个节点,指定种子节点 docker run --name some-scylla2 --hostname some-scylla2 -d scylladb/scylla --seeds="$SEED_IP"
创建docker-compose.yml文件:
version: '3' services: some-scylla: image: scylladb/scylla container_name: some-scylla some-scylla2: image: scylladb/scylla container_name: some-scylla2 command: --seeds=some-scylla some-scylla3: image: scylladb/scylla container_name: some-scylla3 command: --seeds=some-scylla
启动集群:
docker-compose up -d
docker logs some-scylla | tail
示例输出:
INFO 2016-08-04 06:57:40,839 [shard 0] storage_service - Starting listening for CQL clients on 172.17.0.2:9042... INFO 2016-08-04 06:57:40,840 [shard 0] storage_service - Thrift server listening on 172.17.0.2:9160 ...
为提升性能并确保数据持久化,建议挂载宿主机目录作为数据卷:
sudo mkdir -p /var/lib/scylla/data /var/lib/scylla/commitlog /var/lib/scylla/hints /var/lib/scylla/view_hints
禁用开发者模式(生产环境),并挂载数据卷:
docker run --name some-scylla --volume /var/lib/scylla:/var/lib/scylla -d scylladb/scylla --developer-mode=0
默认情况下,Scylla容器运行在过度配置模式(不启用CPU绑定优化)。为提升性能,建议通过以下参数限制资源:
--smp:限制CPU核心数--memory:限制内存使用量--cpuset:指定绑定的CPU核心示例:限制2个CPU核心、4GB内存,并绑定至物理CPU 0-1:
docker run --name some-scylla -d scylladb/scylla --smp 2 --memory 4G --cpuset 0-1 --overprovisioned 0
容器内通过supervisorctl管理Scylla进程,重启命令:
docker exec -it some-scylla supervisorctl restart scylla
通过docker run命令传递,用于自定义Scylla节点行为。
--seeds SEEDSdocker run --name some-scylla -d scylladb/scylla --seeds 192.168.0.100,192.168.0.200
--listen-address ADDR10.0.0.5
docker run --name some-scylla -d scylladb/scylla --listen-address 10.0.0.5
--alternator-address ADDR--listen-address相同。--alternator-port PORTdocker run --name some-scylla -d scylladb/scylla --alternator-port 8000
--alternator-https-port PORT/etc/scylla/scylla.crt和/etc/scylla/scylla.key)。--alternator-write-isolation policy--broadcast-address ADDRdocker run --name some-scylla -d scylladb/scylla --broadcast-address 10.0.0.5
--broadcast-rpc-address ADDR--smp COUNTdocker run --name some-scylla -d scylladb/scylla --smp 1
--memory AMOUNTM(MB)或G(GB)为单位。docker run --name some-scylla -d scylladb/scylla --memory 4G
--reserve-memory AMOUNTdocker run --name some-scylla -d scylladb/scylla --reserve-memory 2G
--overprovisioned ENABLE--cpuset时自动禁用。docker run --name some-scylla -d scylladb/scylla --overprovisioned 0
--io-setup ENABLEscylla_io_setup脚本(I/O调优),默认1(启用)。Kubernetes等环境可禁用。docker run --name some-scylla -d scylladb/scylla --io-setup 0
--cpuset CPUSET1)、范围(0-2)或列表(0,2,4)。docker run --name some-scylla -d scylladb/scylla --cpuset 0-2,4
--developer-mode ENABLEdocker run --name some-scylla -d scylladb/scylla --developer-mode 0
--experimental ENABLEdocker run --name some-scylla -d scylladb/scylla --experimental 1
--disable-version-check--authenticator AUTHENTICATORAllowAllAuthenticator(无认证),可选PasswordAuthenticator(用户名/密码认证)。--authorizer AUTHORIZERAllowAllAuthorizer(无授权),可选CassandraAuthorizer(基于system_auth.permissions表授权)。通过环境变量(-e)配置JMX服务,容器启动时由/scylla-jmx-service.sh读取。
| 环境变量 | 作用 | 默认值 | 示例 |
|---|---|---|---|
SCYLLA_JMX_PORT | JMX监听端口 | -jp 7199 | -e "SCYLLA_JMX_PORT=-jp 7200" |
SCYLLA_API_PORT | Scylla API端口 | -p 10000 | -e "SCYLLA_API_PORT=-p 10001" |
SCYLLA_JMX_ADDR | JMX绑定地址 | -ja localhost | -e "SCYLLA_JMX_ADDR=-ja 0.0.0.0" |
SCYLLA_JMX_REMOTE | 允许远程JMX访问 | 未设置(默认禁用) | -e "SCYLLA_JMX_REMOTE=-r" |
示例:开放JMX远程访问(绑定0.0.0.0,端口7199):
docker run -d -e "SCYLLA_JMX_ADDR=-ja 0.0.0.0" -e "SCYLLA_JMX_REMOTE=-r" --publish 7199:7199 scylladb/scylla
免费版仅支持 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