Files
2026-07-13 13:22:34 +08:00

116 lines
3.3 KiB
YAML

services:
base:
build:
context: .
volumes:
- ${PWD}:/mlflow/home
working_dir: /mlflow/home
entrypoint: /mlflow/home/tests/db/entrypoint.sh
command: pytest tests/db
environment:
DISABLE_RESET_MLFLOW_URI_FIXTURE: "true"
postgresql:
image: postgres@sha256:c1f0abd909b477d6088c72e4cd6eb01ea525344caca1b58689ae884204369502
restart: always
environment:
POSTGRES_DB: mlflowdb
POSTGRES_USER: mlflowuser
POSTGRES_PASSWORD: mlflowpassword
mlflow-postgresql:
depends_on:
- postgresql
extends:
service: base
environment:
MLFLOW_TRACKING_URI: postgresql://mlflowuser:mlflowpassword@postgresql:5432/mlflowdb
INSTALL_MLFLOW_FROM_REPO: true
migration-postgresql:
depends_on:
- postgresql
extends:
service: base
environment:
MLFLOW_TRACKING_URI: postgresql://mlflowuser:mlflowpassword@postgresql:5432/mlflowdb
command: tests/db/check_migration.sh
mysql:
image: mysql@sha256:569c4128dfa625ac2ac62cdd8af588a3a6a60a049d1a8d8f0fac95880ecdbbe5
restart: always
environment:
MYSQL_ROOT_PASSWORD: root-password
MYSQL_DATABASE: mlflowdb
MYSQL_USER: mlflowuser
MYSQL_PASSWORD: mlflowpassword
command: --log-bin-trust-function-creators=1
mlflow-mysql:
extends:
service: base
depends_on:
- mysql
environment:
MLFLOW_TRACKING_URI: mysql://mlflowuser:mlflowpassword@mysql:3306/mlflowdb?charset=utf8mb4
INSTALL_MLFLOW_FROM_REPO: true
migration-mysql:
extends:
service: base
depends_on:
- mysql
environment:
MLFLOW_TRACKING_URI: mysql://mlflowuser:mlflowpassword@mysql:3306/mlflowdb?charset=utf8mb4
command: tests/db/check_migration.sh
mssql:
image: mcr.microsoft.com/mssql/server@sha256:54b23ca766287dab5f6f55162923325f07cdec6ccb42108f37c55c87e7688ebd
restart: always
environment:
ACCEPT_EULA: Y
SA_PASSWORD: "1Secure*Password1"
mlflow-mssql:
depends_on:
- mssql
extends:
service: base
platform: linux/amd64
build:
context: .
dockerfile: Dockerfile.mssql
environment:
MLFLOW_TRACKING_URI: mssql+pyodbc://mlflowuser:Mlfl*wpassword1@mssql/mlflowdb?driver=ODBC+Driver+17+for+SQL+Server
INSTALL_MLFLOW_FROM_REPO: true
migration-mssql:
depends_on:
- mssql
extends:
service: base
platform: linux/amd64
build:
context: .
dockerfile: Dockerfile.mssql
environment:
# We could try using ODBC Driver 18 and append `LongAsMax=Yes` to fix error for sqlalchemy<2.0:
# [ODBC Driver 17 for SQL Server][SQL Server]The data types varchar and ntext are incompatible in the equal to operator
# https://docs.sqlalchemy.org/en/20/dialects/mssql.html#avoiding-sending-large-string-parameters-as-text-ntext
MLFLOW_TRACKING_URI: mssql+pyodbc://mlflowuser:Mlfl*wpassword1@mssql/mlflowdb?driver=ODBC+Driver+17+for+SQL+Server
command: tests/db/check_migration.sh
mlflow-sqlite:
extends:
service: base
environment:
MLFLOW_TRACKING_URI: "sqlite:////tmp/mlflowdb"
INSTALL_MLFLOW_FROM_REPO: true
migration-sqlite:
extends:
service: base
environment:
MLFLOW_TRACKING_URI: "sqlite:////tmp/mlflowdb"
command: tests/db/check_migration.sh