Docker – RUN yum in Docker file not working, but yum it’s working inside the container

amazon-amidocker

I'm trying to build a container from amazonlinux (fedora based).

If I build the image and I enter into the container the yum command works normally.
However if I put the yum command inside the Dockerfile, it doesn't. It seems that fails to contact the repository

Dockerfile

FROM amazonlinux
RUN yum update -y

running: 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

result, several https tried and in the end:

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

Best Answer

if I were you I would check the following things:

  • Try Centos7 image and run the same commands
  • Try to run yum clean all before running update so it should look like this RUN yum clean all && yum update -y
  • Check the network limitation in DNS resolving and you can check this link for guide and also this guide from docker to configure custom network
  • Also check the firewall configuration on the Host machine