rook/cockroachdbCockroachDB 是一款开源的云原生 SQL 数据库,旨在为构建全球分布式、高可用且可弹性扩展的云服务提供数据存储解决方案。它结合了传统关系型数据库的 SQL 兼容性与分布式系统的弹性和可靠性,支持跨区域部署、自动数据分片与重平衡,是现代云原生应用的理想数据层选择。
适用于需要在多个地理区域部署实例、为全球用户提供低延迟访问的应用,如跨境电商平台、全球化 SaaS 服务等。
适合***交易、支付系统、***记录等对数据一致性和服务连续性要求极高的场景,满足企业级可靠性需求。
适用于流量波动大、资源需求动态变化的云原生应用,如电商促销活动、突发流量高峰应对等场景。
支持 PB 级数据存储与高并发读写,适合日志分析、用户行为追踪、物联网数据采集等数据密集型业务。
通过 Docker 快速启动单节点 CockroachDB 实例:
bashdocker run -d \ --name cockroachdb-single \ -p 26257:26257 \ # SQL 客户端端口 -p 8080:8080 \ # Web UI 端口 -v ${PWD}/cockroach-data:/cockroach/cockroach-data \ # 持久化存储 cockroachdb/cockroach:latest \ start-single-node \ --insecure # 开发环境禁用 TLS(生产环境需启用)
启动后,通过 http://localhost:8080 访问管理界面,可查看集群状态、节点信息、性能指标等。
使用 SQL 客户端(如 psql 或 CockroachDB 内置客户端)连接:
bash# 使用容器内客户端连接 docker exec -it cockroachdb-single ./cockroach sql --insecure --host=localhost # 或使用外部 psql 客户端 psql -h localhost -p 26257 -U root
bashmkdir -p cockroach-data/node{1,2,3}
bashdocker run -d \ --name roach1 \ -p 26257:26257 -p 8080:8080 \ -v ${PWD}/cockroach-data/node1:/cockroach/cockroach-data \ cockroachdb/cockroach:latest \ start \ --insecure \ --listen-addr=0.0.0.0 \ --advertise-addr=roach1 \ --http-addr=0.0.0.0 \ --join=roach1,roach2,roach3
bashdocker run -d \ --name roach2 \ -v ${PWD}/cockroach-data/node2:/cockroach/cockroach-data \ cockroachdb/cockroach:latest \ start \ --insecure \ --listen-addr=0.0.0.0 \ --advertise-addr=roach2 \ --http-addr=0.0.0.0 \ --join=roach1,roach2,roach3
bashdocker run -d \ --name roach3 \ -v ${PWD}/cockroach-data/node3:/cockroach/cockroach-data \ cockroachdb/cockroach:latest \ start \ --insecure \ --listen-addr=0.0.0.0 \ --advertise-addr=roach3 \ --http-addr=0.0.0.0 \ --join=roach1,roach2,roach3
| 参数/环境变量 | 描述 | 默认值 |
|---|---|---|
--insecure | 禁用 TLS 加密(仅开发环境使用) | 未启用 |
--listen-addr | 节点监听地址(用于内部通信) | localhost:26257 |
--advertise-addr | 对外公告的节点地址(供其他节点连接) | listen-addr 值 |
--http-addr | Web UI 监听地址 | localhost:8080 |
--join | 集群初始节点列表(逗号分隔) | 无 |
--store | 数据存储路径 | /cockroach/cockroach-data |
--max-sql-memory | SQL 查询可用最大内存 | 总内存的 25% |
生产环境中必须配置持久化存储以防止数据丢失,推荐使用 Docker 卷(Volume)或绑定挂载(Bind Mount)映射主机目录,如示例中的 -v ${PWD}/cockroach-data:/cockroach/cockroach-data。
生产环境需启用 TLS 加密,通过 --certs-dir 指定证书目录,并确保所有节点使用有效证书。详细证书生成与配置可参考 CockroachDB 官方安全文档。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务