Apache Gravitino (Incubating) 是一款开源统一元数据管理平台,旨在解决多源异构数据系统的元数据碎片化问题。该Docker镜像封装了Gravitino服务端组件,提供开箱即用的元数据管理能力,支持快速部署和集成到现有数据平台架构中。
主要用途:
目前Gravitino官方镜像托管于Apache镜像仓库或Docker Hub(视孵化阶段而定),获取命令:
bashdocker pull apache/gravitino:incubating-0.5.0 # 替换为具体版本号
docker run)4.2.1 快速启动(使用内置H2数据库,仅用于测试)
bashdocker run -d \ --name gravitino-test \ -p 8090:8090 \ apache/gravitino:incubating-0.5.0
注意:内置H2数据库不适合生产环境,数据会随容器销毁丢失。
4.2.2 生产环境启动(连接外部MySQL数据库)
bashdocker run -d \ --name gravitino-server \ -p 8090:8090 \ -v /path/to/gravitino/data:/opt/gravitino/data \ # 持久化数据目录 -e GRAVITINO_DB_TYPE=mysql \ -e GRAVITINO_DB_URL=jdbc:mysql://mysql-host:3306/gravitino?useSSL=false \ -e GRAVITINO_DB_USERNAME=root \ -e GRAVITINO_DB_PASSWORD=password \ -e GRAVITINO_SERVER_PORT=8090 \ -e GRAVITINO_LOG_LEVEL=INFO \ apache/gravitino:incubating-0.5.0
创建docker-compose.yml文件,集成Gravitino与MySQL(生产环境推荐):
yamlversion: '3.8' services: gravitino: image: apache/gravitino:incubating-0.5.0 container_name: gravitino-server ports: - "8090:8090" environment: - GRAVITINO_DB_TYPE=mysql - GRAVITINO_DB_URL=jdbc:mysql://mysql:3306/gravitino?useSSL=false&allowPublicKeyRetrieval=true - GRAVITINO_DB_USERNAME=root - GRAVITINO_DB_PASSWORD= gravitino123 - GRAVITINO_SERVER_PORT=8090 - GRAVITINO_LOG_LEVEL=INFO - GRAVITINO_AUTH_ENABLED=true # 启用认证 - GRAVITINO_AUTH_TYPE=ldap # 支持ldap/oauth2/none - GRAVITINO_LDAP_URL=ldap://ldap-server:389 - GRAVITINO_LDAP_BASE_DN=dc=example,dc=com volumes: - gravitino-data:/opt/gravitino/data # 持久化元数据 - ./log:/opt/gravitino/logs # 日志挂载 depends_on: - mysql restart: unless-stopped mysql: image: mysql:8.0 container_name: gravitino-mysql ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD= gravitino123 - MYSQL_DATABASE=gravitino volumes: - mysql-data:/var/lib/mysql restart: unless-stopped volumes: gravitino-data: mysql-data:
启动命令:docker-compose up -d
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
GRAVITINO_SERVER_PORT | 服务监听端口 | 8090 | 8090 |
GRAVITINO_DB_TYPE | 元数据存储类型(支持mysql/postgresql) | h2 | mysql |
GRAVITINO_DB_URL | 数据库连接URL | jdbc:h2:mem:gravitino | jdbc:mysql://mysql:3306/gravitino?useSSL=false |
GRAVITINO_DB_USERNAME | 数据库用户名 | sa | root |
GRAVITINO_DB_PASSWORD | 数据库密码 | 空 | gravitino123 |
GRAVITINO_LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO | INFO |
GRAVITINO_AUTH_ENABLED | 是否启用认证 | false | true |
GRAVITINO_AUTH_TYPE | 认证类型(none/ldap/oauth2) | none | ldap |
GRAVITINO_LDAP_URL | LDAP服务URL(启用ldap认证时必填) | - | ldap://ldap-server:389 |
GRAVITINO_LDAP_BASE_DN | LDAP基础DN | - | dc=example,dc=com |
GRAVITINO_CACHE_ENABLED | 是否启用元数据缓存 | true | true |
GRAVITINO_CACHE_SIZE | 缓存大小(MB) | 128 | 256 |
Gravitino的核心数据包括:
GRAVITINO_DB_*配置)/opt/gravitino/data目录/opt/gravitino/logs目录至宿主机,便于日志管理8090端口(API端口),若启用监控可额外映射9090(Prometheus指标)--network指定自定义网络服务启动后,通过以下方式验证:
curl http://localhost:8090/api/v1/info,返回服务版本信息docker logs gravitino-server,确认无ERROR级日志http://localhost:8090(需在配置中启用Web控制台)注:Apache Gravitino处于孵化阶段,功能和配置可能随版本迭代变化,建议参考官方文档获取最新信息。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务