yosoyjay / docker-mlflow-server

a docker image of the MLflow server component

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker-mlflow-server

Docker Cloud Automated build Docker Cloud Build Status Docker Image Size (latest by date) PyPI - License

A docker image of MLflow, more specifically the server component which provides MLflow Tracking, MLflow Models and more.

Supported Tags

These tags denote version numbers that correspond to the published versions of the mlflow package on PyPI.

How to use this image

You may run the docker image with

docker run -it --rm -p 5000:5000 -v /local/path:/mlflow --name mlflow-server atcommons/mlflow-server

This will expose port 5000 of the container to the host system and mount the /mlflow folder from the container to /local/path for persistence (you should adapt this path to your needs).

Now the mlflow webserver should be available on localhost:5000.

Configuration

The mlflow instance can be configured through environment variables

  • BACKEND_URI: Define the backend store where experiments and all metadata are stored. You may provide a file path or a database URI. Defaults to a local sqlite database.
  • ARTIFACT_ROOT: Define the root directory of mlflow's artifact store. Note that serving of files in the artifact store is not managed by the mlflow server, so you have to provide a storage path that is accessible by the server as well as all clients. While using local paths is possible, it is not very useful in practice. Feasible backends are Amazon S3, Azure Blob Storage, Google Cloud Storage and more.

docker-compose

For a better UX when handling all these parameters, please refer to the sample docker-compose.yml or adapt this code block to your needs:

version: '3'

services:
  mlflow:
    image: 'atcommons/mlflow-server'
    build: .
    ports:
      - "5000:5000"
    volumes:
      - "./data:/mlflow"
    environment:
      BACKEND_URI: sqlite:////mlflow/mlflow.db
      ARTIFACT_ROOT: /mlflow/artifacts

When you're happy with the configuration, just run

docker-compose up -d

Maintaining this Build

When a new version is released, please make a git commit with the modified version in the docker file and the corresponding tag with format "vx.x.x".

Contact

Sebastian Straub (sebastian.straub [at] alexanderthamm.com)

Developed with ❤ at Alexander Thamm GmbH

License

Copyright 2020 Alexander Thamm GmbH

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

a docker image of the MLflow server component

License:Apache License 2.0


Languages

Language:Dockerfile 100.0%