Почему при создании образа не получается установить нужные компоненты, а запуская контейнер они нормально устанавливаюся?

Пытаюсь создать образ для тестов. Столкнулся со следующей проблемой.

Мой Dockerfile

# syntax=docker/dockerfile:1
FROM ubuntu:22.04

RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y git

#apache2 mysql-server php php-mysql --fix-missing

При выполнении получаю ошибку

55.72 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
------
Dockerfile:6
--------------------
   4 |     RUN apt-get update
   5 |     RUN apt-get upgrade -y
   6 | >>> RUN apt-get install -y git
   7 |      
   8 |     #apache2 mysql-server php php-mysql --fix-missing
--------------------
ERROR: failed to solve: process "/bin/sh -c apt-get install -y git" did not complete successfully: exit code: 100

Ок. Допустим и правда не хватает --fix-missing

Dockerfile

# syntax=docker/dockerfile:1
FROM ubuntu:22.04

RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y git --fix-missing

#apache2 mysql-server php php-mysql --fix-missing

получаю

88.10 Errors were encountered while processing:
88.10  libcurl3-gnutls:amd64
88.10  git
88.14 E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/o/openldap/libldap-2.5-0_2.5.16%2bdfsg-0ubuntu0.22.04.1_amd64.deb  404  Not Found [IP: 91.189.91.83 80]
88.14 E: Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/libs/libssh/libssh-4_0.9.6-2ubuntu0.22.04.2_amd64.deb  404  Not Found [IP: 91.189.91.83 80]
88.14 E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/o/openldap/libldap-common_2.5.16%2bdfsg-0ubuntu0.22.04.1_all.deb  404  Not Found [IP: 91.189.91.83 80]
88.14 E: Sub-process /usr/bin/dpkg returned an error code (1)
------
Dockerfile:6
--------------------
   4 |     RUN apt-get update
   5 |     RUN apt-get upgrade -y
   6 | >>> RUN apt-get install -y git --fix-missing
   7 |      
   8 |     #apache2 mysql-server php php-mysql --fix-missing
--------------------
ERROR: failed to solve: process "/bin/sh -c apt-get install -y git --fix-missing" did not complete successfully: exit code: 100

Однако если в Dockerfile только это

# syntax=docker/dockerfile:1
FROM ubuntu:22.04

и на получившемся образе я запускаю контейнер и ввожу команды

apt-get update
apt-get install -y git 

То всё устанавливается без проблем.

Вопрос:Почему?


Ответы (0 шт):