Можно ли указать среду проекта MLflow через Dockerfile (вместо изображения)?

Насколько я понимаю, в настоящее время (май 2019) mlflow поддерживает запуск проекта в среде докеров; однако для этого нужно, чтобы образ докера уже был создан. Это оставляет создание образа докера отдельным рабочим процессом. Каков предлагаемый способ запуска проекта mlflow из Dockerfile?

Планируется ли изначально поддержка Dockerfile в mlflow? Каковы соображения по поводу использования образа против Dockerfile? Спасибо!

1 ответ

Mlflow предоставляет Dockerfile, который они используют на своей странице Github. Вы можете использовать это в качестве отправной точки. Если вы довольны тем, как выглядит ваш Dockerfile, вы можете сгенерировать для него образ с помощью сборки Docker.

Если вас устраивает изображение по умолчанию, используйте его. Если вам нужно настроить рабочий процесс, отредактируйте Dockerfile и создайте из него образ.

Также есть Dockerfile из мастерской mlflow, который может оказаться полезным. 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
Другие вопросы по тегам