version v0.39.3
公式の https://www.metabase.com/docs/latest/operations-guide/running-metabase-on-docker.html#using-postgres-as-the-metabase-application-database や https://www.metabase.com/docs/latest/operations-guide/configuring-application-database.html#mysql-or-mariadb に書いてあるとおり環境変数で制御する。
例えばjdbc-urlで指定する場合は以下のとおり。
MB_DB_CONNECTION_URI: mysql://db:3306/metabase?user=dbuser&password=userpass&allowPublicKeyRetrieval=true
接続先のmysqlにmetabase用のdatabaseが必要。以下のSQLは公式ガイドからコピペしたもの。
CREATE DATABASE metabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysqlも一緒に起動するとしてそこに接続する場合のdocker-compose.ymlの例は下記の通り。
docker-compose.yml
version: "3.7"
services:
db:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: dbuser
MYSQL_PASSWORD: userpass
MYSQL_DATABASE: metabase
networks:
- metabase-net
metabase:
image: metabase/metabase:latest
ports:
- "3000:3000"
volumes:
- ./plugins:/plugins
environment:
MB_DB_TYPE: mysql
MB_DB_CONNECTION_URI: mysql://db:3306/metabase?user=dbuser&password=userpass&allowPublicKeyRetrieval=true
networks:
- metabase-net
networks:
metabase-net: