38 lines
998 B
Docker
38 lines
998 B
Docker
# Python 基础镜像 - 只需构建一次
|
|
# 用途:避免每次都重新配置 apt 源和安装编译工具
|
|
FROM python:3.12-slim
|
|
|
|
LABEL maintainer="[email protected]"
|
|
LABEL description="Python 3.12 基础镜像,预装编译工具和MySQL客户端"
|
|
|
|
# 一次性安装编译工具和运行时依赖(使用官方 Debian 源)
|
|
RUN apt-get update --fix-missing && \
|
|
apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
g++ \
|
|
pkg-config \
|
|
default-libmysqlclient-dev \
|
|
default-mysql-client \
|
|
tzdata \
|
|
curl \
|
|
&& apt-get clean \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 设置时区
|
|
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
|
echo "Asia/Shanghai" > /etc/timezone
|
|
|
|
# 升级 pip(使用官方 PyPI 源)
|
|
RUN pip install --no-cache-dir --upgrade pip
|
|
|
|
WORKDIR /app
|
|
|
|
# 验证安装
|
|
RUN python --version && pip --version
|
|
|
|
# 元数据
|
|
ARG BUILD_DATE
|
|
ARG VERSION
|
|
LABEL build-date=$BUILD_DATE
|
|
LABEL version=$VERSION
|