Skip to content

Instantly share code, notes, and snippets.

@gandroz
Last active August 14, 2020 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gandroz/2b65c022bbd7de7fe9c54cf9234ba452 to your computer and use it in GitHub Desktop.
Save gandroz/2b65c022bbd7de7fe9c54cf9234ba452 to your computer and use it in GitHub Desktop.
Docker compose file to deploy MLflow tracking server
version: '3.3'
services:
db:
restart: always
image: mysql/mysql-server:5.7.28
container_name: mlflow_db
expose:
- "3306"
networks:
- backend
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
volumes:
- dbdata:/var/lib/mysql
web:
restart: always
build: ./mlflow
image: mlflow_server
container_name: mlflow_server
expose:
- "5000"
networks:
- frontend
- backend
environment:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION}
command: mlflow server --backend-store-uri mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@db:3306/${MYSQL_DATABASE} --default-artifact-root s3://mlflow_bucket/mlflow/ --host 0.0.0.0
nginx:
restart: always
build: ./nginx
image: mlflow_nginx
container_name: mlflow_nginx
ports:
- "80:80"
networks:
- frontend
depends_on:
- web
networks:
frontend:
driver: bridge
backend:
driver: bridge
volumes:
dbdata:
@encryptblockr
Copy link

encryptblockr commented Aug 14, 2020

why using gist and not a repo? to better understand the tree structure you have for the MLflow???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment