2021-12-12 03:40:19 +01:00
version : '3'
services :
mlflow-db :
container_name : mlflow-db
2022-06-21 14:54:36 +02:00
platform : linux/x86_64
2021-12-12 03:40:19 +01:00
image : mysql
restart : always
command : --port=3307
ports :
- "3307:3307"
environment :
- MYSQL_DATABASE=experiments
- MYSQL_USER=mlflow
- MYSQL_PASSWORD=password
- MYSQL_ROOT_PASSWORD=root
2022-06-21 14:54:36 +02:00
- MYSQL_ROOT_HOST=0.0.0.0
2021-12-12 03:40:19 +01:00
volumes :
2022-06-21 14:54:36 +02:00
# - ./db:/var/lib/mysql
- ./mysqldata:/var/lib/mysql:rw,delegated
2021-12-12 03:40:19 +01:00
cap_add :
- SYS_NICE # to remove "mbind: Operation not permitted" warning (https://stackoverflow.com/questions/55559386/how-to-fix-mbind-operation-not-permitted-in-mysql-error-log)
mlflow-artifact :
image : minio/minio
environment :
- MINIO_ACCESS_KEY=minio
- MINIO_SECRET_KEY=password
ports :
- "9000:9000"
- "9001:9001"
command : [ "minio" , "server" , "--address" , ":9001" , "--console-address" , ":9000" , "/data" ]
mlflow :
container_name : mlflow
build : .
image : mlflow
restart : always
depends_on :
- mlflow-db
- mlflow-artifact
ports :
- "5000:5000"
environment :
- MLFLOW_S3_ENDPOINT_URL=http://localhost:9000
- AWS_ACCESS_KEY_ID="minio"
- AWS_SECRET_ACCESS_KEY="password"
command : mlflow server --backend-store-uri mysql+pymysql://mlflow:password@mlflow-db:3307/experiments --default-artifact-root s3://mlops.local.com --host 0.0.0.0