-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.mlflow.yaml
62 lines (57 loc) · 1.66 KB
/
docker-compose.mlflow.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
volumes:
mlflow-nexus-data:
mlflow-postgres-data:
mlflow-minio-data:
services:
mlflow-postgres:
image: postgres:latest
ports:
- 5432:5432
volumes:
- mlflow-postgres-data:/var/lib/postgresql/data:z
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
mlflow-minio:
image: minio/minio:latest
environment:
MINIO_ROOT_USER: ${MINIO_ROOT_USER}
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
ports:
- 9000:9000 # S3 API port
- 9001:9001 # web ui
volumes:
- mlflow-minio-data:/data:z
- ./mlflow/artifacts/init-minio.sh:/init-minio.sh:z
- ./mlflow/artifacts/policy-list-buckets.json:/policy-list-buckets.json:z
command: server /data --console-address ":9001"
mlflow-nexus:
image: sonatype/nexus3
ports:
- 8081:8081 # web UI
- 8082:8082 # docker-registry port
volumes:
- mlflow-nexus-data:/nexus-data
- ./mlflow/registry/init-nexus.sh:/opt/sonatype/init-nexus.sh:z
mlflow:
build:
context: ./mlflow/server
depends_on:
- mlflow-minio
- mlflow-nexus
- mlflow-postgres
ports:
- 5000:5000
environment:
MLFLOW_TRACKING_URI: http://mlflow:5000
MLFLOW_S3_ENDPOINT_URL: http://mlflow-minio:9000
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
command: [
"mlflow",
"server",
"--backend-store-uri", "postgresql://postgres:postgres@mlflow-postgres/mlflow-backend-store",
"--default-artifact-root", "s3://mlflow-artifacts",
"--host", "0.0.0.0"
]