专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

cockroachdb/cockroach Docker 镜像 - 轩辕镜像

cockroach
cockroachdb/cockroach
CockroachDB是用于支持持续可用客户体验的分布式SQL数据库
164 收藏0 次下载activecockroachdb镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

CockroachDB Docker镜像文档

1. 镜像概述和主要用途

概述

CockroachDB是一款分布式SQL数据库,专为提供"始终在线"(always-on)的客户体验设计。通过Docker镜像部署,可简化其在开发、测试及生产环境中的安装、配置与运行流程,支持从单节点本地部署到跨多主机的大规模分布式集群。

主要用途

作为分布式SQL数据库,CockroachDB适用于需要强一致性、高可用性和水平扩展能力的业务场景,如***交易系统、电商平台、实时分析服务等对数据可靠性和服务连续性要求极高的应用。

2. 核心功能和特性

  • 分布式架构:去中心化设计,数据自动分片并分布于集群节点,支持无缝水平扩展
  • 强一致性:基于Raft共识算法,确保分布式环境下的数据一致性和事务ACID特性
  • 高可用性:自动故障检测与恢复,节点故障不影响服务可用性,支持跨区域部署
  • SQL兼容性:兼容PostgreSQL协议,支持标准SQL语法、复杂查询、事务及索引等功能
  • 容错能力:默认3副本数据复制,可容忍节点、机架甚至数据中心级别的故障
  • 动态扩展:无需停机即可添加/移除节点,集群规模随业务需求动态调整

3. 使用场景和适用范围

开发与测试环境
  • 单节点部署:用于本地功能验证、单元测试或原型开发
  • 多节点单主机集群:模拟分布式环境,测试集群容错、数据分片等特性
生产环境
  • 单Docker主机多节点:资源受限的小型应用或演示环境,通过容器隔离实现多节点集群
  • 跨多Docker主机分布式集群:结合Kubernetes、Docker Swarm等编排工具,构建跨主机/跨区域的高可用集群,满足大规模生产业务需求
适用业务类型
  • 需7x24小时连续服务的核心业务(如支付系统、用户数据管理)
  • 对数据强一致性和事务可靠性要求高的场景(如***交易、订单系统)
  • 需支持高并发读写并随业务增长动态扩展的应用(如电商平台、实时监控)

4. 详细使用方法和配置说明

4.1 安装CockroachDB Docker镜像

通过Docker安装CockroachDB的详细步骤请参考官方文档:Install CockroachDB

4.2 单节点集群部署(本地测试)

适用于开发或测试环境,启动单节点CockroachDB并暴露SQL端口(26257)和管理UI端口(8080):

bash
# 启动单节点容器(--insecure用于测试,生产环境需启用TLS)
docker run -d \
  --name=roach-single \
  -p 26257:26257 \  # SQL客户端连接端口
  -p 8080:8080 \    # 管理UI端口
  -v "${PWD}/data:/cockroach/cockroach-data" \  # 持久化数据卷
  cockroachdb/cockroach:latest \
  start-single-node \  # 单节点模式启动命令
  --insecure \         # 禁用TLS(仅测试用)
  --listen-addr=0.0.0.0:26257 \  # 允许外部连接
  --http-addr=0.0.0.0:8080       # 管理UI监听地址

验证部署:访问 http://localhost:8080 查看管理UI,或通过SQL客户端连接 postgres://root@localhost:26257/defaultdb?sslmode=disable。

4.3 多节点集群(单Docker主机)

在单Docker主机上部署多节点集群,需先创建专用网络以实现容器间通信:

步骤1:创建Docker网络
bash
docker network create roachnet  # 创建桥接网络,供集群节点通信
步骤2:启动集群节点

以3节点集群为例,节点间通过--join参数指定初始集群成员:

bash
# 节点1(初始化集群)
docker run -d \
  --name=roach1 \
  --net=roachnet \
  -p 26257:26257 \  # 暴露SQL端口到主机
  -p 8080:8080 \    # 暴露管理UI端口到主机
  -v "${PWD}/data/roach1:/cockroach/cockroach-data" \
  cockroachdb/cockroach:latest \
  start \
  --insecure \
  --listen-addr=roach1:26257 \  # 节点1容器内地址
  --http-addr=roach1:8080 \
  --join=roach1:26257,roach2:26257,roach3:26257  # 集群节点列表

# 节点2
docker run -d \
  --name=roach2 \
  --net=roachnet \
  -v "${PWD}/data/roach2:/cockroach/cockroach-data" \
  cockroachdb/cockroach:latest \
  start \
  --insecure \
  --listen-addr=roach2:26257 \
  --http-addr=roach2:8080 \
  --join=roach1:26257,roach2:26257,roach3:26257

# 节点3
docker run -d \
  --name=roach3 \
  --net=roachnet \
  -v "${PWD}/data/roach3:/cockroach/cockroach-data" \
  cockroachdb/cockroach:latest \
  start \
  --insecure \
  --listen-addr=roach3:26257 \
  --http-addr=roach3:8080 \
  --join=roach1:26257,roach2:26257,roach3:26257

验证集群:通过节点1的管理UI(http://localhost:8080)查看集群状态,或执行以下命令检查节点:

bash
docker exec -it roach1 cockroach node status --insecure --host=roach1:26257
4.4 跨多Docker主机的多节点集群

对于生产环境的跨主机分布式集群,需结合容器编排工具实现节点发现、网络配置和服务管理,具体方案参考官方文档:

  • 使用Kubernetes编排
  • 使用Docker Swarm编排
4.5 核心配置参数说明
参数作用说明
start-single-node单节点模式启动命令(自动初始化集群)
start多节点模式启动命令(需配合--join指定集群节点)
--insecure禁用TLS加密(仅测试用,生产环境需通过--certs-dir指定证书目录)
--listen-addr节点间通信地址(格式:主机:端口,容器内需使用容器名或IP)
--http-addr管理UI监听地址
--join集群初始节点列表(格式:节点1:端口,节点2:端口,...,用于节点发现)
--store数据存储路径(默认/cockroach/cockroach-data,建议通过Docker卷挂载持久化)
4.6 Docker Compose配置示例(单主机3节点集群)

创建 docker-compose.yml 文件,简化多节点集群部署:

yaml
version: '3.8'

services:
  roach1:
    image: cockroachdb/cockroach:latest
    container_name: roach1
    command: start --insecure --listen-addr=roach1:26257 --http-addr=roach1:8080 --join=roach1:26257,roach2:26257,roach3:26257
    ports:
      - "26257:26257"  # SQL端口
      - "8080:8080"    # 管理UI端口
    volumes:
      - ./data/roach1:/cockroach/cockroach-data
    networks:
      - roachnet

  roach2:
    image: cockroachdb/cockroach:latest
    container_name: roach2
    command: start --insecure --listen-addr=roach2:26257 --http-addr=roach2:8080 --join=roach1:26257,roach2:26257,roach3:26257
    volumes:
      - ./data/roach2:/cockroach/cockroach-data
    networks:
      - roachnet

  roach3:
    image: cockroachdb/cockroach:latest
    container_name: roach3
    command: start --insecure --listen-addr=roach3:26257 --http-addr=roach3:8080 --join=roach1:26257,roach2:26257,roach3:26257
    volumes:
      - ./data/roach3:/cockroach/cockroach-data
    networks:
      - roachnet

networks:
  roachnet:
    driver: bridge  # 桥接网络,实现容器间通信

volumes:
  roach1-data:
  roach2-data:
  roach3-data:

启动集群:

bash
docker-compose up -d  # 后台启动所有节点
docker-compose logs -f  # 查看集群日志

5. 注意事项

  • 生产环境安全:禁用--insecure,通过--certs-dir指定TLS证书目录(证书生成方法参考官方文档)。
  • 数据持久化:必须通过Docker卷(-v参数)挂载数据目录,避免容器删除导致数据丢失。
  • 资源配置:根据集群规模调整容器CPU/内存限制(如--cpus=2 --memory=4g),避免资源竞争影响性能。
查看更多 cockroach 相关镜像 →
rook/cockroachdb logo
rook/cockroachdb
by rook
CockroachDB 是一款云原生 SQL 数据库,专为构建全球、可扩展的云服务而设计。
1100K+ pulls
上次更新:4 年前
mcp/cockroachdb logo
mcp/cockroachdb
by mcp
认证
允许AI代理使用自然语言管理、监控和查询CockroachDB,无缝执行复杂数据库操作、集群管理和查询执行,可与MCP客户端集成实现可扩展的高性能数据操作。
1.8K pulls
上次更新:5 个月前
cockroachdb/cockroach-unstable logo
cockroachdb/cockroach-unstable
by cockroachdb
CockroachDB的非稳定版本——用于提供持续可用客户体验的分布式SQL数据库。
3100K+ pulls
上次更新:26 天前
cockroachdb/cockroach-operator logo
cockroachdb/cockroach-operator
by cockroachdb
暂无描述
500K+ pulls
上次更新:5 个月前
cockroachdb/visus logo
cockroachdb/visus
by cockroachdb
暂无描述
10K+ pulls
上次更新:4 个月前
cockroachdb/replicator logo
cockroachdb/replicator
by cockroachdb
replicator是一个工具包,用于将逻辑复制流摄入到CockroachDB集群中。
10K+ pulls
上次更新:6 天前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
cockroachdb/cockroach
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429