Фикс докерфайлов

This commit is contained in:
Sergey Antropoff
2026-05-06 09:00:59 +03:00
parent 01d598eea5
commit fb9d9e10ed
2 changed files with 59 additions and 8 deletions

View File

@@ -6,13 +6,32 @@
FROM alt:p9
ENV container=docker
ENV DEBIAN_FRONTEND=noninteractive
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Обновляем систему (зеркала ALT иногда отдают RPM с MD5 mismatch — повтор с чистым кешем).
RUN set -eux; \
dist_ok=0; \
for attempt in 1 2 3 4 5; do \
mkdir -p /var/lib/apt/lists/partial; \
apt-get clean || true; \
rm -rf /var/lib/apt/lists/*; \
if apt-get -o Acquire::Retries=5 update \
&& apt-get -o Acquire::Retries=5 dist-upgrade -y --fix-missing; then \
dist_ok=1; \
break; \
fi; \
echo "dist-upgrade attempt ${attempt} failed, retrying in 15s..."; \
sleep 15; \
done; \
mkdir -p /var/lib/apt/lists/partial; \
apt-get clean || true; \
rm -rf /var/lib/apt/lists/*; \
test "$dist_ok" -eq 1
# Устанавливаем systemd и необходимые пакеты (ALT mirrors may be briefly inconsistent; retry with fresh indexes)
RUN set -eux; \
for attempt in 1 2 3 4; do \
mkdir -p /var/lib/apt/lists/partial; \
apt-get update && \
apt-get install -y --fix-missing \
systemd \
@@ -33,10 +52,14 @@ RUN set -eux; \
gzip \
&& break; \
echo "apt install attempt ${attempt} failed, retrying in 8s..."; \
apt-get clean; rm -rf /var/lib/apt/lists/*; \
mkdir -p /var/lib/apt/lists/partial; \
apt-get clean || true; \
rm -rf /var/lib/apt/lists/*; \
sleep 8; \
done; \
apt-get clean; rm -rf /var/lib/apt/lists/*
mkdir -p /var/lib/apt/lists/partial; \
apt-get clean || true; \
rm -rf /var/lib/apt/lists/*
# Ansible 2.14+ требует Python 3.9+ на цели — на ALT p9 базовый python3 может быть 3.7.
# curl/ca-certificates ставятся в предыдущем RUN; здесь не вызываем apt-get — после rm -rf /var/lib/apt/lists/*