安装docker依赖LibreOffice 很慢的问题应该怎么解决?

给你几种落地方案,你挑一种。

方案A(推荐):换成国内源再装

在 Dockerfile 里第一步就换成阿里/清华的 Debian 源,再装,能快很多。

FROM python:3.11-slim

# 1. 换源(以阿里为例,自己按地区改)
RUN sed -i 's@deb.debian.org@mirrors.aliyun.com@g' /etc/apt/sources.list && \
    sed -i 's@security.debian.org@mirrors.aliyun.com@g' /etc/apt/sources.list

# 2. 再安装
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        libreoffice-writer \
        libreoffice-impress \
        libreoffice-calc \
        fonts-dejavu \
        imagemagick \
    && rm -rf /var/lib/apt/lists/*

要点:
• 用国内镜像
• 用 --no-install-recommends,别装全家桶
• 只装你要的几个组件,不要写一个 libreoffice 把数据库、翻译、帮助文档全拉下来

方案B:做一个“基础镜像”只装 LibreOffice

你现在每次 docker-compose up --build 都要重装一遍 LibreOffice,当然慢。

可以先做一个单独的镜像:

# Dockerfile.base
FROM python:3.11-slim
RUN sed -i 's@deb.debian.org@mirrors.aliyun.com@g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
        libreoffice-writer libreoffice-impress libreoffice-calc \
        fonts-dejavu imagemagick \
    && rm -rf /var/lib/apt/lists/*
docker build -t ppt-base:latest -f Dockerfile.base .

然后你的业务镜像再基于它:

FROM ppt-base:latest
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir -r requirements.txt
CMD ["python", "main.py"]

这样 LibreOffice 只装一次,后面就是秒级构建。

方案C:不要在容器里装,宿主机装好 + 挂进去

如果你这台 Ubuntu 机器已经能很快 apt install libreoffice,那可以:
1. 在宿主机装好 LibreOffice;
2. docker run 的时候把 /usr/bin/libreoffice、/usr/lib/libreoffice 挂进去;
3. 容器里只需要有调用路径。

这个最省时间,但要你机器上已经装好了。

方案D:缩小安装包

你现在写的是大概这样的:

apt-get install -y --no-install-recommends libreoffice libreoffice-writer libreoffice-impress ...

其实只要:

apt-get install -y --no-install-recommends libreoffice-impress

多数情况下 PPT→PDF/图片,impress 就够了;再配个字体就行。越少越快。

顺带再说一点

你现在看到的提示:

the attribute 'version' is obsolete

和你安装慢 不是一回事,这是 docker-compose v2 的提示,先不用管。

一句话版
• 慢,是因为你在 国外源里装一个 1GB 的 LibreOffice,而且是 在 Docker 里每次都装;
• 换国内源、精简包、做基础镜像,装一次就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MonkeyKing.sun

对你有帮助的话,可以打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值