据我了解,目前(2019年5月)mlflow支持在docker环境中运行项目;但是,它需要已经构建的docker镜像。这将使Docker映像构建成为单独的工作流程。从Dockerfile运行mlflow项目的建议方法是什么?
是否计划在mlflow中本地支持以Dockerfile为目标?使用映像和Dockerfile的注意事项是什么?谢谢!
答案 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