本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Vitess是一个开源的分布式数据库解决方案,由***开发并开源,旨在简化MySQL数据库的部署、扩展和管理。该解决方案通过抽象MySQL集群复杂性,提供了与MySQL协议兼容的分布式数据库服务,支持大规模数据存储与高并发访问场景。
Vitess Docker镜像封装了Vitess的核心组件(如vtctld、vttablet、vtgate等),便于快速部署和运行Vitess集群。主要用途包括:
适用于用户规模大、请求量高的Web服务(如电商平台、社交网络),通过Vitess的分片和读写分离能力支撑高并发访问。
当单节点MySQL无法满足数据量增长需求时,Vitess可通过分片实现数据水平扩展,突破单机存储和性能瓶颈。
支持跨地域部署单元格(Cell),实现数据就近访问,降低延迟,同时保障区域级故障的业务连续性。
对服务可用性要求严苛的业务(如金融交易、支付系统),可通过Vitess的自动故障转移和多副本机制提升系统可靠性。
减少分布式数据库集群的手动运维成本,通过Vitess自动化工具实现集群部署、升级、扩缩容等操作。
Vitess官方Docker镜像可从Docker Hub获取,命令如下:
docker pull vitess/vitess:latest
以下示例展示通过docker run命令启动Vitess的核心组件vtctld(集群控制节点):
docker 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=[***] \ # etcd服务地址 --cell=test \ # 单元格名称(集群逻辑分区) --web_dir=/vt/web/vtctld \ # Web控制台静态文件目录 --port=15000 \ --grpc_port=15999
以下是使用docker-compose部署Vitess最小集群的示例(包含etcd、vtctld、vttablet组件):
version: '3.8' services: etcd: image: gcr.io/etcd-development/etcd:v3.5.0 command: etcd --listen-client-urls [***] --advertise-client-urls [***] 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=[***] --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=[***] --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:
启动集群:
docker-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)支持通过命令行参数进一步配置,常用参数如下:
| 参数名 | 说明 | 示例值 |
|---|---|---|
--topo_implementation | 拓扑服务实现(etcd/zk/consul) | etcd |
--etcd_global_addrs | etcd服务地址(拓扑服务为etcd时) | [***] |
--cell | 单元格名称(集群逻辑分区标识) | test |
--web_dir | Web控制台静态文件目录 | /vt/web/vtctld |
| 参数名 | 说明 | 示例值 |
|---|---|---|
--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卷)。

免费版仅支持 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