Docokerfile
保存以下内容为Dockerfile, 然后在Docker build -t python-talib .
ARG BASE_IMAGE=ubuntu:24.04
FROM ${BASE_IMAGE}# 环境变量设置
ENV DEBIAN_FRONTEND=noninteractive \PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple \PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn# 构建参数
ARG TALIB_C_VERSION="0.6.4"
ARG TALIB_PY_MAJOR_MIN_VERSION="0.6"# 包管理变量
ENV APT_PKG_TEMPORARY="build-essential autoconf automake autotools-dev cmake python3-dev python3-venv libtool-bin libopenblas-dev wget" \APT_PKG="python3 python3-pip liblapack3" \TALIB_C_VERSION=${TALIB_C_VERSION} \TALIB_PY_MAJOR_MIN_VERSION=${TALIB_PY_MAJOR_MIN_VERSION}# 设置工作目录
WORKDIR /app# 安装系统依赖和TA-Lib C库
RUN apt-get update && apt-get upgrade -y && \apt-get install -y --no-install-recommends ${APT_PKG_TEMPORARY} ${APT_PKG} && \ln -s /usr/include/locale.h /usr/include/xlocale.h && \\# 根据架构选择安装方式arch="$(dpkg --print-architecture)" && \case "$arch" in \amd64|x86_64) final_arch="amd64" ;; \arm64|aarch64) final_arch="arm64" ;; \*) final_arch="" ;; \esac && \\if [ -n "$final_arch" ]; then \echo "Detected $arch, using TA-Lib $TALIB_C_VERSION .deb" && \TALIB_URL="https://github.com/TA-Lib/ta-lib/releases/download/v${TALIB_C_VERSION}/ta-lib_${TALIB_C_VERSION}_${final_arch}.deb" && \wget -O /tmp/ta-lib.deb "$TALIB_URL" && \dpkg -i /tmp/ta-lib.deb && \rm -f /tmp/ta-lib.deb; \else \echo "Arch $arch not supported, building TA-Lib from source" && \wget -O /tmp/ta-lib-src.tgz "https://github.com/TA-Lib/ta-lib/releases/download/v${TALIB_C_VERSION}/ta-lib-${TALIB_C_VERSION}-src.tar.gz" && \mkdir /tmp/ta-lib && \tar xf /tmp/ta-lib-src.tgz -C /tmp/ta-lib --strip-components=1 && \cd /tmp/ta-lib && \./configure --prefix=/usr && \make -j$(nproc) && \make install && \libtool --finish /usr/lib && \rm -rf /tmp/ta-lib /tmp/ta-lib-src.tgz; \fi && \\# 创建虚拟环境并安装Python依赖python3 -m venv /venv && \/venv/bin/pip install --no-cache-dir --upgrade pip cython && \/venv/bin/pip install --no-cache-dir "TA-Lib~=${TALIB_PY_MAJOR_MIN_VERSION}" pandas && \\# 清理工作apt-get autoremove -y ${APT_PKG_TEMPORARY} && \apt-get clean && \rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ${WHEEL_FILE}# ----------
# 后面就根据自己项目需要更改
# ----------
# 构建参数
ARG WHEEL_FILE="stock_tool-0.1.1-py3-none-any.whl"
# 复制wheel文件到容器中
COPY ${WHEEL_FILE} .# 安装应用
RUN /venv/bin/pip install --no-cache-dir ${WHEEL_FILE}# 设置容器入口点
CMD ["/venv/bin/StockAgent"]