RUN yum в файле Docker не работает, но yum работает внутри контейнера

Я пытаюсь собрать контейнер из amazonlinux (на основе fedora).

Если я создаю образ и вхожу в контейнер, команда yum работает нормально. Однако, если я помещу команду yum в Dockerfile, это не так. Кажется, что не удается связаться с хранилищем

Dockerfile

FROM amazonlinux
RUN yum update -y

работает: сборка sudo docker.

Sending build context to Docker daemon  3.072kB
Step 1/2 : FROM amazonlinux
---> df7d0b6ddeee
Step 2/2 : RUN yum update -y
---> Running in 14e4e4bad5b1
Loaded plugins: ovl, priorities

В результате несколько https пытались и в итоге:

...URLError: (28, 'Resolving timed out after 5516 milliseconds')
Trying other mirror...
The command '/bin/sh -c yum update -y' returned a non-zero code: 1

2 ответа

На вашем месте я бы проверил следующие вещи:

  • Попробуйте изображение Centos7 и выполните те же команды
  • Попробуй запустить yum clean all перед запуском обновления, так оно и должно выглядеть RUN yum clean all && yum update -y
  • Проверьте ограничение сети в разрешении DNS, и вы можете проверить эту ссылку для руководства, а также это руководство от докера для настройки собственной сети
  • Также проверьте конфигурацию брандмауэра на хост-машине

Попробуйте использовать хост-сеть, если у контейнера проблемы с DNS, например

docker build .... --network host ....

Другие вопросы по тегам