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 ....