TDengine/packaging/docker/DockerfileTDgpt.base

78 lines
3.9 KiB
Text

# docker build -f DockerfileTDgpt.base -t tdgpt_env:1.1 .
FROM python:3.10-slim AS base-builder
RUN apt-get -o Acquire::Check-Valid-Until=false -o Acquire::Check-Date=false update -y && \
apt-get install -y --no-install-recommends gcc libc-dev procps && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN pip3 install --upgrade pip && \
pip3 install --no-cache-dir --ignore-installed blinker && \
pip3 install --no-cache-dir torch==2.3.1+cpu --index-url https://download.pytorch.org/whl/cpu && \
# arm64 use: pip3 install --no-cache-dir torch --index-url https://download.pytorch.org/whl/cpu && \
pip3 install --no-cache-dir \
numpy==1.26.4 \
pandas==1.5.0 \
scikit-learn==1.7.0 \
outlier_utils==0.0.5 \
statsmodels==0.14.4 \
pyculiarity==0.0.7 \
pmdarima==2.0.4 \
flask==3.1.1 \
matplotlib==3.10.3 \
taospy \
uwsgi==2.0.30 \
accelerate==1.8.1 \
tensorflow-cpu==2.15.0 \
# arm64 use: tensorflow==2.15.0 \
prophet==1.1.7 \
fastdtw==0.3.4 \
-i https://pypi.tuna.tsinghua.edu.cn/simple && \
find /usr/local/lib/python3.10 -name "*.pyc" -delete && \
find /usr/local/lib/python3.10 -type d -name '__pycache__' -exec rm -rf {} + 2>/dev/null || true && \
find /usr/local/lib/python3.10 -type d -name 'tests' -exec rm -rf {} + 2>/dev/null || true
FROM python:3.10-slim AS venv1-builder
COPY --from=base-builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
COPY --from=base-builder /usr/local/bin /usr/local/bin
ENV VIRTUAL_ENV=/var/lib/taos/taosanode/venv
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN python3.10 -m venv --system-site-packages $VIRTUAL_ENV && \
pip install --no-cache-dir transformers==4.40 \
-i https://pypi.tuna.tsinghua.edu.cn/simple && \
find $VIRTUAL_ENV -type d -name '__pycache__' -exec rm -rf {} + && \
find $VIRTUAL_ENV -type d -name 'tests' -exec rm -rf {} +
FROM python:3.10-slim AS venv2-builder
COPY --from=base-builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
COPY --from=base-builder /usr/local/bin /usr/local/bin
ENV VIRTUAL_ENV=/var/lib/taos/taosanode/venv_chronos
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN python -m venv --system-site-packages $VIRTUAL_ENV && \
pip install --no-cache-dir transformers==4.55 \
chronos-forecasting \
-i https://pypi.tuna.tsinghua.edu.cn/simple && \
find $VIRTUAL_ENV -type d -name '__pycache__' -exec rm -rf {} + && \
find $VIRTUAL_ENV -type d -name 'tests' -exec rm -rf {} +
FROM python:3.10-slim AS venv3-builder
COPY --from=base-builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
COPY --from=base-builder /usr/local/bin /usr/local/bin
ENV VIRTUAL_ENV=/var/lib/taos/taosanode/venv_timesfm
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN python -m venv --system-site-packages $VIRTUAL_ENV && \
pip install --no-cache-dir transformers==4.33 \
-i https://pypi.tuna.tsinghua.edu.cn/simple && \
find $VIRTUAL_ENV -type d -name '__pycache__' -exec rm -rf {} + && \
find $VIRTUAL_ENV -type d -name 'tests' -exec rm -rf {} +
FROM python:3.10-slim
RUN apt-get update -y && \
apt-get install -y --no-install-recommends procps && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY --from=base-builder /usr/local/lib/python3.10/site-packages /usr/local/lib/python3.10/site-packages
COPY --from=base-builder /usr/local/bin /usr/local/bin
COPY --from=venv1-builder /var/lib/taos/taosanode/venv /var/lib/taos/taosanode/venv
COPY --from=venv2-builder /var/lib/taos/taosanode/venv_chronos /var/lib/taos/taosanode/venv_chronos
COPY --from=venv3-builder /var/lib/taos/taosanode/venv_timesfm /var/lib/taos/taosanode/venv_timesfm