在 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
。
这是一个示例 Podman 命令,它告诉 Metabase 使用该数据库:
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 时区设置为与您希望所有报告使用的时区匹配。您可以通过简单地指定 Metabase 启动脚本获取的 JAVA_TIMEZONE
环境变量来实现此目的。例如:
podman run -d -p 3000:3000 \
-e "JAVA_TIMEZONE=US/Pacific" \
--name metabase metabase/metabase
故障排除
请参阅故障排除指南中的“运行 Metabase”。
继续设置
现在您已经安装了 Metabase,是时候设置它并将其连接到您的数据库了。
阅读其他版本的 Metabase 的文档。