在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://127.0.0.1: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://127.0.0.1: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时区设置为您希望所有报告都使用的时区。您可以简单指定 JAVA_TIMEZONE
环境变量,该变量由Metabase启动脚本捕获。例如:
podman run -d -p 3000:3000 \
-e "JAVA_TIMEZONE=US/Pacific" \
--name metabase metabase/metabase
故障排除
请参阅运行Metabase。
继续设置
现在您已安装了Metabase,是时候设置它并将其连接到您的数据库了。
阅读Metabase的其他版本的文档。