如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Vitess是一个开源的分布式数据库解决方案,由***开发并开源,旨在简化MySQL数据库的部署、扩展和管理。该解决方案通过抽象MySQL集群复杂性,提供了与MySQL协议兼容的分布式数据库服务,支持大规模数据存储与高并发访问场景。
Vitess Docker镜像封装了Vitess的核心组件(如vtctld、vttablet、vtgate等),便于快速部署和运行Vitess集群。主要用途包括:
适用于用户规模大、请求量高的Web服务(如电商平台、社交网络),通过Vitess的分片和读写分离能力支撑高并发访问。
当单节点MySQL无法满足数据量增长需求时,Vitess可通过分片实现数据水平扩展,突破单机存储和性能瓶颈。
支持跨地域部署单元格(Cell),实现数据就近访问,降低延迟,同时保障区域级故障的业务连续性。
对服务可用性要求严苛的业务(如***交易、支付系统),可通过Vitess的自动故障转移和多副本机制提升系统可靠性。
减少分布式数据库集群的手动运维成本,通过Vitess自动化工具实现集群部署、升级、扩缩容等操作。
Vitess官方Docker镜像可从Docker Hub获取,命令如下:
bashdocker pull vitess/vitess:latest
以下示例展示通过docker run命令启动Vitess的核心组件vtctld(集群控制节点):
bashdocker run -d \ --name vtctld \ -p 15000:15000 \ # vtctld Web控制台端口 -p 15999:15999 \ # vtctld gRPC端口 -v /host/vtdata:/vt/vtdata \ # 挂载数据目录(持久化存储) -e VTROOT=/vt \ # Vitess安装根目录 -e VTDATAROOT=/vt/vtdata \ # 数据存储目录 vitess/vitess:latest \ vtctld \ --topo_implementation=etcd \ # 使用etcd作为拓扑服务 --etcd_global_addrs=http://etcd:2379 \ # etcd服务地址 --cell=test \ # 单元格名称(集群逻辑分区) --web_dir=/vt/web/vtctld \ # Web控制台静态文件目录 --port=15000 \ --grpc_port=15999
以下是使用docker-compose部署Vitess最小集群的示例(包含etcd、vtctld、vttablet组件):
yamlversion: '3.8' services: etcd: image: gcr.io/etcd-development/etcd:v3.5.0 command: etcd --listen-client-urls http://0.0.0.0:2379 --advertise-client-urls http://etcd:2379 ports: - "2379:2379" volumes: - etcd-data:/default.etcd vtctld: image: vitess/vitess:latest depends_on: - etcd ports: - "15000:15000" # Web控制台 - "15999:15999" # gRPC端口 environment: - VTROOT=/vt - VTDATAROOT=/vt/vtdata volumes: - vtctld-data:/vt/vtdata command: vtctld --topo_implementation=etcd --etcd_global_addrs=http://etcd:2379 --cell=test --web_dir=/vt/web/vtctld --port=15000 --grpc_port=15999 vttablet: image: vitess/vitess:latest depends_on: - etcd - vtctld environment: - VTROOT=/vt - VTDATAROOT=/vt/vtdata - MYSQL_PORT=3306 # MySQL实例端口 - TABLET_TYPE=replica # 副本类型(replica/master/rdonly) volumes: - vttablet-data:/vt/vtdata command: vttablet --topo_implementation=etcd --etcd_global_addrs=http://etcd:2379 --cell=test --tablet-path=test-0000000100 --init_keyspace=test_keyspace --init_shard=0 --init_tablet_type=replica --mysql_port=3306 --port=15002 --grpc_port=15003 volumes: etcd-data: vtctld-data: vttablet-data:
启动集群:
bashdocker-compose up -d
Vitess Docker镜像支持以下常用环境变量配置:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
VTROOT | Vitess安装根目录 | /vt |
VTDATAROOT | 数据存储目录(持久化数据) | /vt/vtdata |
MYSQL_PORT | MySQL实例监听端口 | 3306 |
VTCTLD_PORT | vtctld Web控制台端口 | 15000 |
VTCTLD_GRPC_PORT | vtctld gRPC服务端口 | 15999 |
TABLET_PORT | vttablet HTTP端口 | 15002 |
TABLET_GRPC_PORT | vttablet gRPC端口 | 15003 |
Vitess组件(如vtctld、vttablet)支持通过命令行参数进一步配置,常用参数如下:
vtctld核心参数
| 参数名 | 说明 | 示例值 |
|---|---|---|
--topo_implementation | 拓扑服务实现(etcd/zk/consul) | etcd |
--etcd_global_addrs | etcd服务地址(拓扑服务为etcd时) | http://etcd:2379 |
--cell | 单元格名称(集群逻辑分区标识) | test |
--web_dir | Web控制台静态文件目录 | /vt/web/vtctld |
vttablet核心参数
| 参数名 | 说明 | 示例值 |
|---|---|---|
--tablet-path | Tablet唯一标识(格式:{cell}-{uid}) | test-0000000100 |
--init_keyspace | 初始化键空间名称 | test_keyspace |
--init_shard | 初始化分片标识 | 0 |
--init_tablet_type | 初始Tablet类型(replica/master/rdonly) | replica |
为避免容器重启导致数据丢失,需将VTDATAROOT目录挂载至宿主机或持久化卷(如示例中docker-compose配置的vtctld-data、vttablet-data卷)。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

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