• 当前系统Debian GNU/Linux 12 (bookworm)
    • RAM 4G
  • 切换到root用户操作
  • 安装docker
  • 拉取镜像 alpine:3.22
  • 下载项目
cd /opt
git clone https://github.com/epoupon/lms.git 
cd lms 
git checkout 1a8f341fdc0821466ff230ea97e3a00d5e266a14
  • Dockerfile-release中搜索 curl -sLO 提前将需要的依赖下载下来, 放置到/opt/lms/depend
  • 编辑Dockerfile-release
    • 设置镜像和拷贝文件
 # RUN   apk add --no-cache --update ${BUILD_PACKAGES} 注释此行并新增下面3行
RUN     sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories &&  apk add --no-cache --update ${BUILD_PACKAGES}
RUN     mkdir -p /tmp/depend
COPY    ./depend /tmp/depend/
  • 将涉及到的 curl -sLO xxx && \ 行首添加#注释掉,并修改下一行的解压命令,在文件名前添加/tmp/depend/
    • :%s/curl -s/#curl -s/gc :%s/-f /-f \/tmp\/depend\//gc
  • 执行编译 docker build -f ./Dockerfile-release -t lms:v3.71.0 .
  • 导出 docker save lms:v3.71.0 | gzip > /opt/lms-v3.71.0.tar.gz
  • 导入 docker load -i /opt/lms-v3.71.0.tar.gz