在 Podman 上运行 Metabase
我们的 Metabase 官方 Docker 镜像兼容任何运行 Podman 的系统。
开源版快速入门
假设您已安装并运行 Podman,获取最新的容器镜像
podman pull docker.io/metabase/metabase:latest
然后启动 Metabase 容器
podman run -d -p 3000:3000 --name=metabase docker.io/metabase/metabase:latest
这将默认在 3000 端口启动 Metabase 服务器。
可选:要查看开源版 Metabase 初始化时的日志,请运行
podman logs -f metabase
启动完成后,您可以通过 https://:3000
访问您的开源版 Metabase。
要在不同端口(例如 12345 端口)运行您的开源版 Metabase
podman run -d -p 12345:3000 --name=metabase docker.io/metabase/metabase:latest
专业版或企业版快速入门
如果您拥有 专业版或企业版 Metabase 的许可令牌,并希望在本地运行 Metabase,请使用此快速入门指南。
假设您已安装并运行 Podman,获取最新的容器镜像
podman pull docker.io/metabase/metabase-enterprise:latest
然后启动 Metabase 容器
podman run -d -p 3000:3000 --name=metabase docker.io/metabase/metabase-enterprise:latest
这将默认在 3000 端口启动 Metabase 服务器。
可选:要查看 Metabase 初始化时的日志,请运行
podman logs -f metabase
启动完成后,您可以通过 https://:3000
访问您的专业版或企业版 Metabase。
要在不同端口(例如 12345 端口)运行您的专业版或企业版 Metabase
podman run -d -p 12345:3000 --name=metabase docker.io/metabase/metabase-enterprise:latest
生产环境安装
Metabase 附带一个嵌入式 H2 数据库,该数据库使用文件系统存储其应用程序数据。这意味着,如果您移除容器,您将丢失 Metabase 应用程序数据(您的提问、仪表盘、集合等)。
如果您想在生产环境中运行 Metabase,您需要将应用程序数据存储在生产级数据库中。
一旦您为 Metabase 预置了一个数据库(例如 Postgres)用于存储其应用程序数据,您只需向 Metabase 提供连接信息和凭据,Metabase 即可连接到该数据库。
在生产环境中运行 Podman
假设您通过运行以下命令设置了一个 Postgres 数据库
createdb metabaseappdb
无需添加任何表;Metabase 将在启动时创建它们。假设该数据库可以通过 my-database-host:5432
访问,用户名为 name
,密码为 password
。
以下是告诉 Metabase 使用该数据库的 Podman 命令示例
podman run -d -p 3000:3000 \
-e "MB_DB_TYPE=postgres" \
-e "MB_DB_DBNAME=metabaseappdb" \
-e "MB_DB_PORT=5432" \
-e "MB_DB_USER=name" \
-e "MB_DB_PASS=password" \
-e "MB_DB_HOST=my-database-host" \
--name metabase metabase/metabase
请记住,Metabase 将从您的 Podman 容器内部进行连接,因此请确保:a) 您使用的是完全限定域名,或者 b) 您已在容器的 /etc/hosts 文件
中设置了正确的条目。
迁移到生产环境安装
如果您已经在使用默认应用程序数据库 (H2) 运行 Metabase,并且希望使用生产级应用程序数据库而不丢失您的应用数据(您的提问、仪表盘等),请参阅从 H2 迁移到生产数据库。
其他 Podman 维护和配置
将 Metabase 作为服务运行
我们可以使用 systemd 初始化服务来注册一个可以自动启动和停止的 Metabase 服务。在执行此过程之前,请确保 Metabase 容器正在运行。然后,利用 Podman 的内置功能生成服务文件,如下所示
sudo podman generate systemd --new --name metabase > metabase.service
在执行服务之前,请检查 metabase.service
文件的内容,以验证所有准确的配置都已存在。确认后,通过运行以下命令将服务文件定位到相应位置
sudo mv metabase.service /etc/systemd/system
要在系统启动时启用 Metabase 服务的自动启动,请执行
sudo systemctl enable metabase
为了验证系统是否正常运行,请重新启动系统。系统初始化过程完成后,Metabase 容器应按预期运行。
自定义 Metabase Jetty 服务器
您可以通过在 Podman 运行命令中设置环境变量来使用自定义 Metabase Jetty Web 服务器中的任何自定义设置。
设置 Java 时区
最好将您的 Java 时区设置为与您希望所有报告显示的时区一致。您可以通过简单地指定 JAVA_TIMEZONE
环境变量来实现,该变量会被 Metabase 启动脚本获取。例如
podman run -d -p 3000:3000 \
-e "JAVA_TIMEZONE=US/Pacific" \
--name metabase metabase/metabase
故障排除
请参阅故障排除指南中的“运行 Metabase”。
继续设置
安装 Metabase 后,现在是时候设置它并连接到您的数据库了。
阅读其他 Metabase 版本的文档。