2

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

是否有计划支持在 mlflow 中本地定位 Dockerfile?使用 image vs Dockerfile 有哪些注意事项?谢谢!

4

2 回答 2

1

Mlflow 在他们的Github 页面上提供了他们使用的 Dockerfile 。您可以以此为起点。一旦您对 Dockerfile 的外观感到满意,您就可以使用 docker build 为其生成映像

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

于 2019-05-13T21:56:08.637 回答
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"]

并运行.sh

#!/bin/sh
mlflow server \
    --file-store $FILE_STORE \
    --default-artifact-root $ARTIFACT_STORE \
    --host $SERVER_HOST \
    --port $SERVER_PORT
于 2019-11-18T14:57:22.570 回答