Created
May 24, 2024 15:40
-
-
Save dhrp/f5ad291ab9ab583e85da1bf930326d33 to your computer and use it in GitHub Desktop.
The MLFlow dockerfile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright Broadcom, Inc. All Rights Reserved. | |
# SPDX-License-Identifier: APACHE-2.0 | |
FROM docker.io/bitnami/minideb:bookworm | |
ARG TARGETARCH | |
LABEL com.vmware.cp.artifact.flavor="sha256:c50c90cfd9d12b445b011e6ad529f1ad3daea45c26d20b00732fae3cd71f6a83" \ | |
org.opencontainers.image.base.name="docker.io/bitnami/minideb:bookworm" \ | |
org.opencontainers.image.created="2024-05-20T05:24:52Z" \ | |
org.opencontainers.image.description="Application packaged by Broadcom, Inc." \ | |
org.opencontainers.image.documentation="https://github.com/bitnami/containers/tree/main/bitnami/mlflow/README.md" \ | |
org.opencontainers.image.licenses="Apache-2.0" \ | |
org.opencontainers.image.ref.name="2.13.0-debian-12-r0" \ | |
org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/mlflow" \ | |
org.opencontainers.image.title="mlflow" \ | |
org.opencontainers.image.vendor="Broadcom, Inc." \ | |
org.opencontainers.image.version="2.13.0" | |
ENV HOME="/" \ | |
OS_ARCH="${TARGETARCH:-amd64}" \ | |
OS_FLAVOUR="debian-12" \ | |
OS_NAME="linux" | |
COPY prebuildfs / | |
SHELL ["/bin/bash", "-o", "errexit", "-o", "nounset", "-o", "pipefail", "-c"] | |
# Install required system packages and dependencies | |
RUN install_packages ca-certificates curl git libbz2-1.0 libcom-err2 libcrypt1 libffi8 libgcc-s1 libgmp10 libgnutls30 libgssapi-krb5-2 libhogweed6 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.5-0 liblzma5 libncursesw6 libnettle8 libnsl2 libp11-kit0 libpq5 libreadline8 libsasl2-2 libsqlite3-0 libssl3 libstdc++6 libtasn1-6 libtinfo6 libtirpc3 libunistring2 procps zlib1g | |
RUN mkdir -p /tmp/bitnami/pkg/cache/ ; cd /tmp/bitnami/pkg/cache/ ; \ | |
COMPONENTS=( \ | |
"python-3.10.14-12-linux-${OS_ARCH}-debian-12" \ | |
"mlflow-2.13.0-0-linux-${OS_ARCH}-debian-12" \ | |
"google-cloud-sdk-0.477.0-0-linux-${OS_ARCH}-debian-12" \ | |
) ; \ | |
for COMPONENT in "${COMPONENTS[@]}"; do \ | |
if [ ! -f "${COMPONENT}.tar.gz" ]; then \ | |
curl -SsLf "https://downloads.bitnami.com/files/stacksmith/${COMPONENT}.tar.gz" -O ; \ | |
curl -SsLf "https://downloads.bitnami.com/files/stacksmith/${COMPONENT}.tar.gz.sha256" -O ; \ | |
fi ; \ | |
sha256sum -c "${COMPONENT}.tar.gz.sha256" ; \ | |
tar -zxf "${COMPONENT}.tar.gz" -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' ; \ | |
rm -rf "${COMPONENT}".tar.gz{,.sha256} ; \ | |
done | |
RUN apt-get autoremove --purge -y curl && \ | |
apt-get update && apt-get upgrade -y && \ | |
apt-get clean && rm -rf /var/lib/apt/lists /var/cache/apt/archives | |
RUN useradd -r -u 1001 -g root mlflow | |
RUN find / -perm /6000 -type f -exec chmod a-s {} \; || true | |
RUN mkdir /.local && chmod g+rwX /.local | |
RUN mkdir -p /app/mlruns /app/mlartifacts /bitnami/mlflow && chmod g+rwX /app /app/mlruns /app/mlartifacts /bitnami/mlflow && ln -s /opt/bitnami/python/lib/*/site-packages/mlflow/server/auth/ /bitnami/mlflow-basic-auth | |
ENV APP_VERSION="2.13.0" \ | |
BITNAMI_APP_NAME="mlflow" \ | |
PATH="/opt/bitnami/python/bin:$PATH" | |
WORKDIR /app | |
USER 1001 | |
ENTRYPOINT [ "python" ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment