Rozwiązywanie problemów z wdrażaniem IronPdf na Debian 10 (Buster)
Podczas tworzenia obrazu Docker do wdrożenia IronPDF przy użyciu obrazu podstawowego Debian 10 (Buster), kompilacja Docker kończy się niepowodzeniem na etapie apt-get update z błędami 404.
0.648 Err:4 http://deb.debian.org/debian buster Release
0.648 404 Not Found [IP: 151.101.162.132 80]
0.657 Err:5 http://deb.debian.org/debian-security buster/updates Release
0.657 404 Not Found [IP: 151.101.162.132 80]
0.708 E: The repository 'http://deb.debian.org/debian buster Release' does not have a Release file.
0.708 E: The repository 'http://deb.debian.org/debian-security buster/updates Release' does not have a Release file.
Debian 10 (Buster) jest końcem życia. Jego repozytoria zostały usunięte z deb.debian.org, więc każdy obraz Docker, który wywołuje apt-get update z domyślnymi lustrami Buster, zakończy się niepowodzeniem z tymi błędami 404. Błąd nie jest spowodowany samym poleceniem instalacji zależności IronPDF, ale brakiem metadanych repozytorium.
Rozwiązanie
Opcja 1: Uaktualnienie do Debian 12 z .NET 8 (Zalecane)
Przenieś bazowy obraz Dockerfile na mcr.microsoft.com/dotnet/aspnet:8.0 lub inny obraz oparty na Debian 12. IronPDF w pełni obsługuje Debian 12 i .NET 8. Zobacz przewodnik Docker IronPDF zawierający kompletny działający Dockerfile.
Opcja 2: Przekierowanie APT do archiwum Debian w Dockerfile
Dodaj komendy sed przed apt-get update, aby przepisać sources.list na wskazywanie na archive.debian.org:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
RUN sed -i 's|deb.debian.org|archive.debian.org|g' /etc/apt/sources.list \
&& sed -i 's|security.debian.org|archive.debian.org|g' /etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y \
libgobject-2.0-0 libglib2.0-0 libnss3 libatk1.0-0 libatk-bridge2.0-0 \
libcups2 libxcomposite1 libxrandr2 libxdamage1 libxfixes3 \
libxkbcommon0 libxshmfence1 libgbm1 libasound2 \
libpangocairo-1.0-0 libpango-1.0-0 libgtk-3-0 \
fonts-liberation ca-certificates \
&& rm -rf /var/lib/apt/lists/*
To podejście działa dla istniejących wdrożeń .NET Core 3.1, które nie mogą jeszcze przenieść się na .NET 8. Należy zauważyć, że Debian 10 nie otrzymuje żadnych dalszych poprawek bezpieczeństwa, dlatego zmiana na Debian 12 pozostaje zalecanym kierunkiem.

