CockroachDB Remote Client是一个用于对CockroachDB集群执行简单任务后自动退出的Docker镜像。该镜像主要用于执行一次性操作,如创建数据库、创建用户、设置集群配置参数或初始化集群等。其设计初衷是在Kubernetes或Docker Compose等编排环境中,作为临时服务完成初始化配置任务,任务执行完毕后容器自动退出。
cockroach init命令)该镜像通过环境变量进行配置,支持以下参数(详细连接说明可参考CockroachDB***文档):
| 环境变量 | 是否必填 | 说明 |
|---|---|---|
COCKROACH_HOST | 是 | CockroachDB连接地址,格式为<host>:<port>。若未包含端口,需通过COCKROACH_PORT单独指定 |
COCKROACH_USER | 是 | 用于连接CockroachDB的用户,将作为远程客户端会话的所有者 |
COCKROACH_PORT | 否 | CockroachDB端口,仅当COCKROACH_HOST未包含端口时需要指定 |
COCKROACH_INSECURE | 否 | 是否使用不安全连接,值必须为true或false |
COCKROACH_CERTS_DIR | 否 | 证书目录路径,包含CA证书、客户端证书和客户端密钥(安全连接时需配置) |
DATABASE_NAME | 否 | 要创建的数据库名称,若指定则自动执行数据库创建操作 |
DATABASE_USER | 否 | 要创建的数据库用户名称,创建的用户将自动拥有admin权限 |
DATABASE_PASSWORD | 否 | DATABASE_USER的密码,若未提供则密码设为NULL,用户无法使用密码认证 |
COCKROACH_ORG | 否 | 集群组织名称,对应cluster.organization配置项 |
COCKROACH_LICENSE_KEY | 否 | 企业许可证密钥,对应enterprise.license配置项 |
COCKROACH_INIT | 否 | 是否初始化集群,值为true时执行cockroach init命令初始化集群 |
以下是在Docker Compose中使用该镜像的典型配置示例,其中crdb-init服务即为使用该镜像的临时初始化服务:
yamlservices: # CockroachDB节点服务(示例) crdb-0: ... crdb-1: ... crdb-2: ... # 负载均衡服务(示例) lb: container_name: lb hostname: lb image: timveil/dynamic-haproxy:latest ports: - "26257:26257" # CockroachDB SQL端口 - "8080:8080" # 集群UI端口 - "8081:8081" environment: - NODES=crdb-0 crdb-1 crdb-2 # 集群节点列表 depends_on: - crdb-0 - crdb-1 - crdb-2 # CockroachDB初始化服务(使用当前镜像) crdb-init: container_name: crdb-init hostname: crdb-init image: timveil/cockroachdb-remote-client:latest environment: - COCKROACH_HOST=crdb-0:26257 # 连接地址(必填) - COCKROACH_INSECURE=true # 使用非安全连接 - DATABASE_NAME=test # 要创建的数据库名称 depends_on: - lb # 依赖负载均衡服务或集群节点服务
如需自行构建镜像,可使用以下命令:
bashdocker build --no-cache -t timveil/cockroachdb-remote-client:latest .
构建完成后,可通过以下命令将镜像推送到镜像仓库:
bashdocker push timveil/cockroachdb-remote-client:latest
直接运行镜像(需通过环境变量指定必要参数):
bashdocker run -it timveil/cockroachdb-remote-client:latest
通过环境变量配置连接信息和任务参数:
bashdocker run \ --env COCKROACH_HOST=localhost:26257 \ # 连接本地CockroachDB节点 --env COCKROACH_INSECURE=true \ # 非安全连接模式 --env DATABASE_NAME=test \ # 创建名为test的数据库 --env COCKROACH_INIT=true \ # 初始化集群 -it timveil/cockroachdb-remote-client:latest
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 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 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429