You've already forked DataMate
- 新增 APT 缓存目录和相关构建脚本 export-cache.sh - 添加 build-base-images.sh 脚本用于构建预装 APT 包的基础镜像 - 增加 build-offline-final.sh 最终版离线构建脚本 - 更新 Makefile.offline.mk 添加新的离线构建目标 - 扩展 README.md 文档详细说明 APT 缓存问题解决方案 - 为多个服务添加使用预装基础镜像的离线 Dockerfile - 修改打包脚本包含 APT 缓存到最终压缩包中
63 lines
3.1 KiB
Docker
63 lines
3.1 KiB
Docker
# 预安装 APT 包的基础镜像
|
|
# 在有网环境构建这些镜像,在无网环境作为基础镜像使用
|
|
|
|
# ==================== backend / gateway 基础镜像 ====================
|
|
FROM eclipse-temurin:21-jdk AS datamate-java-base
|
|
|
|
# 配置 apt 阿里云镜像源
|
|
RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \
|
|
elif [ -f /etc/apt/sources.list.d/ubuntu.sources ]; then \
|
|
sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g; s/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list.d/ubuntu.sources; \
|
|
elif [ -f /etc/apt/sources.list ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g; s/archive.ubuntu.com/mirrors.aliyun.com/g; s/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list; \
|
|
fi && \
|
|
apt-get update && \
|
|
apt-get install -y vim wget curl rsync python3 python3-pip python-is-python3 dos2unix libreoffice fonts-noto-cjk && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# ==================== backend-python 基础镜像 ====================
|
|
FROM python:3.12-slim AS datamate-python-base
|
|
|
|
RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \
|
|
elif [ -f /etc/apt/sources.list ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \
|
|
fi && \
|
|
apt-get update && \
|
|
apt-get install -y --no-install-recommends vim openjdk-21-jre nfs-common glusterfs-client rsync && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# ==================== runtime 基础镜像 ====================
|
|
FROM ghcr.nju.edu.cn/astral-sh/uv:python3.11-bookworm AS datamate-runtime-base
|
|
|
|
RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \
|
|
elif [ -f /etc/apt/sources.list ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \
|
|
fi && \
|
|
apt update && \
|
|
apt install -y libgl1 libglib2.0-0 vim libmagic1 libreoffice dos2unix swig poppler-utils tesseract-ocr && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# ==================== deer-flow-backend 基础镜像 ====================
|
|
FROM ghcr.nju.edu.cn/astral-sh/uv:python3.12-bookworm AS deer-flow-backend-base
|
|
|
|
RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \
|
|
elif [ -f /etc/apt/sources.list ]; then \
|
|
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \
|
|
fi && \
|
|
apt-get update && apt-get install -y libpq-dev git && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# ==================== mineru 基础镜像 ====================
|
|
FROM python:3.11-slim AS mineru-base
|
|
|
|
RUN sed -i 's/deb.debian.org/mirrors.huaweicloud.com/g' /etc/apt/sources.list.d/debian.sources && \
|
|
apt-get update && \
|
|
apt-get install -y curl vim libgl1 libglx0 libopengl0 libglib2.0-0 procps && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|