本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
CockroachDB是一款分布式SQL数据库,专为提供"始终在线"(always-on)的客户体验设计。通过Docker镜像部署,可简化其在开发、测试及生产环境中的安装、配置与运行流程,支持从单节点本地部署到跨多主机的大规模分布式集群。
作为分布式SQL数据库,CockroachDB适用于需要强一致性、高可用性和水平扩展能力的业务场景,如金融交易系统、电商平台、实时分析服务等对数据可靠性和服务连续性要求极高的应用。
通过Docker安装CockroachDB的详细步骤请参考官方文档:Install CockroachDB
适用于开发或测试环境,启动单节点CockroachDB并暴露SQL端口(26257)和管理UI端口(8080):
# 启动单节点容器(--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。
在单Docker主机上部署多节点集群,需先创建专用网络以实现容器间通信:
docker network create roachnet # 创建桥接网络,供集群节点通信
以3节点集群为例,节点间通过--join参数指定初始集群成员:
# 节点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)查看集群状态,或执行以下命令检查节点:
docker exec -it roach1 cockroach node status --insecure --host=roach1:26257
对于生产环境的跨主机分布式集群,需结合容器编排工具实现节点发现、网络配置和服务管理,具体方案参考官方文档:
| 参数 | 作用说明 |
|---|---|
start-single-node | 单节点模式启动命令(自动初始化集群) |
start | 多节点模式启动命令(需配合--join指定集群节点) |
--insecure | 禁用TLS加密(仅测试用,生产环境需通过--certs-dir指定证书目录) |
--listen-addr | 节点间通信地址(格式:主机:端口,容器内需使用容器名或IP) |
--http-addr | 管理UI监听地址 |
--join | 集群初始节点列表(格式:节点1:端口,节点2:端口,...,用于节点发现) |
--store | 数据存储路径(默认/cockroach/cockroach-data,建议通过Docker卷挂载持久化) |
创建 docker-compose.yml 文件,简化多节点集群部署:
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:
启动集群:
docker-compose up -d # 后台启动所有节点 docker-compose logs -f # 查看集群日志
--insecure,通过--certs-dir指定TLS证书目录(证书生成方法参考官方文档)。-v参数)挂载数据目录,避免容器删除导致数据丢失。--cpus=2 --memory=4g),避免资源竞争影响性能。免费版仅支持 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