mirror of
https://github.com/gowvp/gb28181.git
synced 2026-04-22 15:07:10 +08:00
chore: update dockerfile
This commit is contained in:
+13
-23
@@ -1,9 +1,12 @@
|
||||
# ============================================
|
||||
# 阶段 1: 构建 Python 依赖
|
||||
# ============================================
|
||||
FROM debian:trixie-slim AS python-builder
|
||||
# ZLMediaKit 基于 Ubuntu 24.04 编译,内嵌 Python 3.12 解释器,
|
||||
# pip 包必须与 Python 3.12 ABI 一致,否则 C 扩展模块无法加载
|
||||
FROM ubuntu:24.04 AS python-builder
|
||||
|
||||
RUN sed -i 's|http://deb.debian.org|http://mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources 2>/dev/null || true
|
||||
RUN sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g; s|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || \
|
||||
sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g; s|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list 2>/dev/null || true
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
python3 \
|
||||
@@ -30,7 +33,9 @@ RUN pip3 install --no-cache-dir --break-system-packages --target=/python-package
|
||||
# ============================================
|
||||
# 阶段 2: 最终运行镜像
|
||||
# ============================================
|
||||
FROM debian:trixie-slim
|
||||
# 与 ZLMediaKit 使用相同基础镜像,自带 Python 3.12,
|
||||
# 避免 libpython3.12 版本不匹配和额外复制
|
||||
FROM ubuntu:24.04
|
||||
|
||||
ENV TZ=Asia/Shanghai
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
@@ -40,34 +45,19 @@ ENV PYTHONPATH=/opt/media/bin/analysis:/python-packages
|
||||
WORKDIR /opt/media/bin/
|
||||
|
||||
# 配置 apt 源使用阿里云镜像加速
|
||||
RUN sed -i 's|http://deb.debian.org|http://mirrors.aliyun.com|g' /etc/apt/sources.list.d/debian.sources 2>/dev/null || \
|
||||
sed -i 's|http://deb.debian.org|http://mirrors.aliyun.com|g; \
|
||||
s|http://security.debian.org|http://mirrors.aliyun.com|g' /etc/apt/sources.list 2>/dev/null || true
|
||||
RUN sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g; s|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || \
|
||||
sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g; s|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list 2>/dev/null || true
|
||||
|
||||
# 安装运行时依赖(极简版)
|
||||
# 注意:opencv-python-headless 不需要 libgl1,移除可节省 ~160MB
|
||||
# Ubuntu 24.04 已预装 libstdc++6, libgcc-s1, libssl3t64
|
||||
# libpython3.12 是 MediaServer 内嵌 Python 3.12 解释器的核心依赖
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
tzdata \
|
||||
libstdc++6 \
|
||||
libgcc-s1 \
|
||||
libssl3 \
|
||||
python3 \
|
||||
libglib2.0-0 \
|
||||
wget \
|
||||
libpython3.12 \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& apt-get clean
|
||||
|
||||
# 从 Debian Bullseye 下载并安装 libssl1.1(ZLMediaKit 需要)
|
||||
RUN ARCH=$(dpkg --print-architecture) && \
|
||||
wget -q http://mirrors.aliyun.com/debian/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_${ARCH}.deb -O /tmp/libssl1.1.deb && \
|
||||
dpkg -i /tmp/libssl1.1.deb || true && \
|
||||
rm -f /tmp/libssl1.1.deb && \
|
||||
# 移除 wget(不再需要)
|
||||
apt-get purge -y wget && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# 从构建阶段复制 Python 包
|
||||
COPY --from=python-builder /python-packages /python-packages
|
||||
|
||||
|
||||
Reference in New Issue
Block a user