是否可以通过Dockerfile(而不是映像)指定MLflow项目环境?

时间:2019-05-13 21:20:35

标签: docker machine-learning artificial-intelligence databricks mlflow

据我了解,目前(2019年5月)mlflow支持在docker环境中运行项目;但是,它需要已经构建的docker镜像。这将使Docker映像构建成为单独的工作流程。从Dockerfile运行mlflow项目的建议方法是什么?

是否计划在mlflow中本地支持以Dockerfile为目标?使用映像和Dockerfile的注意事项是什么?谢谢!

2 个答案:

答案 0 :(得分:0)

Mlflow确实提供了在Github page上使用的Dockerfile。您可以以此为起点。对Dockerfile的外观感到满意之后,就可以使用docker build为它生成映像。

如果您对默认图像感到满意,请使用该图像。如果需要调整工作流程,请编辑Dockerfile并从中构建映像。

答案 1 :(得分:0)

mlflow研讨会中还有一个Dockerfile,这很有帮助。 https://github.com/afranzi/mlflow-workshop

#FROM python:3.7.0
# https://hub.docker.com/r/frolvlad/alpine-python-machinelearning/
FROM frolvlad/alpine-python-machinelearning

LABEL maintainer="Albert Franzi"

ENV MLFLOW_HOME /opt/mlflow
ENV MLFLOW_VERSION 0.7.0
ENV SERVER_PORT 5000
ENV SERVER_HOST 0.0.0.0
ENV FILE_STORE ${MLFLOW_HOME}/fileStore
ENV ARTIFACT_STORE ${MLFLOW_HOME}/artifactStore

RUN pip install mlflow==${MLFLOW_VERSION} && \
    mkdir -p ${MLFLOW_HOME}/scripts && \
    mkdir -p ${FILE_STORE} && \
    mkdir -p ${ARTIFACT_STORE}

COPY scripts/run.sh ${MLFLOW_HOME}/scripts/run.sh

EXPOSE ${SERVER_PORT}/tcp

VOLUME ["${MLFLOW_HOME}/scripts/", "${FILE_STORE}", "${ARTIFACT_STORE}"]

WORKDIR ${MLFLOW_HOME}

ENTRYPOINT ["./scripts/run.sh"]

和 run.sh

#!/bin/sh
mlflow server \
    --file-store $FILE_STORE \
    --default-artifact-root $ARTIFACT_STORE \
    --host $SERVER_HOST \
    --port $SERVER_PORT