docker-mlflow-server
docker-mlflow-server copied to clipboard
a docker image of the MLflow server component
docker-mlflow-server
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 requirements.txt file and the corresponding git tag with format "vx.x.x".
Contact
- Sebastian Straub (sebastian.straub [at] alexanderthamm.com)
- Carsten Böhm (carsten.boehm [at] alexanderthamm.com)
Developed with ❤ at Alexander Thamm GmbH
License
Copyright 2020-2022 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.