Назад | Перейти на главную страницу

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

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

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

Dockerfile

FROM amazonlinux
RUN yum update -y

работает: sudo docker build.

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

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

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

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

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