A docker image of MLflow, more specifically the server component which provides MLflow Tracking, MLflow Models and more.
These tags denote version numbers that correspond to the published versions of the mlflow package on PyPI.
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.
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.
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
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".
- Sebastian Straub (sebastian.straub [at] alexanderthamm.com)
- Carsten Böhm (carsten.boehm [at] alexanderthamm.com)
Developed with ❤ at Alexander Thamm GmbH
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.