openmetadata本地docker部署核心是确保docker(≥20.10)和docker compose v2可用,然后通过docker/docker-compose-quickstart目录一键启动服务,自动运行mysql、elasticsearch、server和ingestion四个容器,访问http://localhost:8585即可使用。

能用 Docker 就别手动装——Linux 下部署 OpenMetadata,核心就一条:确保 docker 和 docker compose 可用,其余全交给容器。
检查 Docker 环境是否就绪
OpenMetadata 依赖 Docker Compose v2(不是旧版 docker-compose),很多 Linux 发行版默认装的是 v1 或没装。运行以下命令验证:
docker --version —— 要求 ≥ 20.10docker compose version —— 注意是 compose(无连字符),不是 compose version;若报错或提示 command not found,说明你只有 v1,需升级:
→ Ubuntu/Debian:sudo apt install docker-compose-plugin
→ CentOS/RHEL:sudo dnf install docker-compose-plugin
常见坑:
- 用户不在 docker 组里 → 运行 sudo usermod -aG docker $USER,然后重新登录终端
- SELinux 启用状态为 enforcing → 会导致 Elasticsearch 容器反复重启,临时关掉:sudo setenforce 0(生产环境请配策略,不建议永久 disable)
用 Quickstart 模式一键拉起服务
这是最稳、最快、官方主推的本地/测试部署路径,所有依赖(MySQL、Elasticsearch、Server、Ingestion)打包在 docker-compose-quickstart 目录里:
git clone https://gitcode.com/GitHub_Trending/op/OpenMetadata.gitcd OpenMetadatacd docker/docker-compose-quickstartdocker compose up -d
启动后等 2–3 分钟,执行:docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
应看到 4 个容器正常运行:
- openmetadata_mysql(状态 Up,端口未暴露,内部通信)
- openmetadata_elasticsearch(Up,9200 映射到宿主机)
- openmetadata_server(Up,8585 映射)
- openmetadata_ingestion(Up,8080 映射)
如果 openmetadata_elasticsearch 一直 restarting:
→ 查看日志:docker logs openmetadata_elasticsearch
→ 典型原因是内存不足(ES 默认要 4GB 堆内存),宿主机总内存
编辑 docker-compose.yml,找到 elasticsearch 服务下的 environment,加一行:ES_JAVA_OPTS: "-Xms512m -Xmx512m"
访问与首次登录注意事项
服务起来后,浏览器打开 http://localhost:8585 即可进入 UI。
默认账号密码都是:admin / admin
但注意:
- 首次登录会强制跳转到「设置新密码」页,不能跳过
- 密码要求至少 8 位,含大小写字母 + 数字 + 特殊字符(如 Admin@123)
- 如果页面空白或 502,大概率是 openmetadata_server 没连上 MySQL 或 ES,查日志:docker logs openmetadata_server | tail -20
- 若日志里出现 Connection refused,确认 MySQL 和 ES 容器已完全就绪(docker ps 中状态为 Up X minutes,不是刚启动的秒级)
离线环境或定制数据库怎么处理
内网或无法拉镜像时,不能直接 docker compose up。必须提前准备好镜像并 load 进本地 registry:
先在有网机器执行:./docker/run_local_docker.sh -s true -d mysql(加 -s true 跳过构建,只 pull 镜像)
再用 docker save 打包所有镜像(openmetadata/server、mysql:8.0、opensearchproject/opensearch:2.12.0 等)
最后 docker load -i *.tar 到目标机器
换 PostgreSQL 的话,不用改代码,只需:
- 把 docker-compose-quickstart 目录下 docker-compose.yml 替换为 docker-compose-postgres.yml
- 或直接运行:docker compose -f docker-compose-postgres.yml up -d
- 注意:PostgreSQL 版本需匹配(官方推荐 postgres:14),且 POSTGRES_PASSWORD 必须和 DB_PASSWORD 一致,否则 Server 启动失败
真正容易被忽略的是:所有配置项(比如数据库地址、ES 地址)都通过环境变量注入,它们定义在 docker-compose.yml 的 environment 下,而不是写死在代码里。改配置,只改 yml,不碰源码。










