OpenMetadata本地部署最稳妥方式是Docker Compose:先验证Docker 20.10+和Docker Compose v2.1.1+环境,克隆仓库后进入docker/docker-compose-quickstart目录执行docker compose up -d,默认启用MySQL、Elasticsearch等组件,5分钟内即可通过http://localhost:8585访问,默认账号密码均为admin。

直接用 Docker Compose 部署是最稳妥、最省事的方式。只要系统满足最低要求(Docker 20.10+、内存 ≥6GB),5 分钟内就能跑起来;离线环境或国产系统(如麒麟、CentOS 7)则必须手动装依赖,跳过镜像拉取环节。
确认 Docker 环境是否可用
OpenMetadata 的所有官方部署方式都基于 Docker,不支持裸机直装。先验证本地 Docker 是否就绪:
- 运行
docker --version和docker compose version,输出中需含Docker Compose version v2.1.1+ - 若提示
command not found,说明docker-compose命令未安装或版本太旧——注意:OpenMetadata 不兼容docker-compose(v1),必须用docker compose(v2 内置子命令) - Linux 上普通用户默认无权执行 Docker 命令,需执行
sudo usermod -aG docker $USER并重新登录终端
在线部署:用 docker-compose-quickstart 启动
这是官方推荐的快速路径,适用于 Ubuntu/CentOS/Debian 等主流发行版:
- 克隆代码:
git clone https://gitcode.com/GitHub_Trending/op/OpenMetadata.git && cd OpenMetadata - 进入配置目录:
cd docker/docker-compose-quickstart - 启动服务:
docker compose up -d(默认使用 MySQL) - 若想换 PostgreSQL,改用:
docker compose -f docker-compose-postgres.yml up -d
启动后等待 2–3 分钟,运行 docker ps 应看到 openmetadata_server、openmetadata_mysql、openmetadata_elasticsearch、openmetadata_ingestion 四个容器在 Up 状态。访问 http://localhost:8585 即可登录,默认账号密码均为 admin。
离线部署:绕过镜像拉取,手动准备组件
在无外网的生产环境(如麒麟 openKylin、CentOS 7),Docker Compose 无法自动拉镜像,必须提前下载并导入:
- 提前在有网机器上执行:
docker pull openmetadata/openmetadata-server:1.7.1、mysql:8.0、elasticsearch:8.11.3等关键镜像,再用docker save -o om.tar IMAGE_ID打包 - 将
om.tar拷贝到目标机器,执行:docker load -i om.tar - 数据库和 Elasticsearch 不能只靠容器——CentOS 7 默认不支持 overlay2 存储驱动,Elasticsearch 容器极易因 vm.max_map_count 不足而崩溃,建议改为宿主机直装:
sysctl -w vm.max_map_count=262144并写入/etc/sysctl.conf - MySQL 8.0 在 CentOS 7 上需手动创建
mysql用户组和用户,并初始化数据目录,否则容器启动失败
常见启动失败原因与对应检查点
服务起不来?90% 问题出在以下三处:
-
openmetadata_server容器反复重启:检查docker logs openmetadata_server,高频报错是Connection refused——说明 MySQL 或 Elasticsearch 尚未就绪,不要强行加depends_on,应等它们完全 ready 后再启动 server - UI 打不开(502 或空白页):确认
openmetadata_server日志里有没有Started OpenMetadataApplication,没有则说明 Spring Boot 未完成初始化,大概率是 JVM 内存不足(JAVA_OPTS=-Xms2g -Xmx4g必须显式设置) -
docker compose up -d卡住不动:Docker Desktop 在 Linux 上不适用,必须用原生 Docker Engine;某些国产系统(如麒麟)自带 Docker 版本过低(v19.x),需手动升级到v24.0.7+
真正麻烦的不是部署本身,而是各组件间的就绪时序和资源限制——尤其是 Elasticsearch 对 vm.max_map_count 和内存的硬性要求,这点在离线环境里最容易被忽略。

















