在 Docker 文件中运行 yum 不起作用,但 yum 它在容器内工作

Gla*_*ost 6 amazon-ami docker

我正在尝试从 amazonlinux (基于 Fedora)构建一个容器。

如果我构建映像并进入容器,则 yum 命令可以正常工作。但是,如果我将 yum 命令放入 Dockerfile 中,则不会。似乎无法联系存储库

Dockerfile

FROM amazonlinux
RUN yum update -y
Run Code Online (Sandbox Code Playgroud)

运行: 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
Run Code Online (Sandbox Code Playgroud)

结果尝试了几个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
Run Code Online (Sandbox Code Playgroud)

Ker*_*iam 5

如果我是你,我会检查以下事项:

  • 尝试 Centos7 镜像并运行相同的命令
  • 尝试在运行更新之前运行yum clean all,所以它应该看起来像这样RUN yum clean all && yum update -y
  • 检查 DNS 解析中的网络限制,您可以查看此链接以获取指南,也可以查看 docker 的此指南来配置自定义网络
  • 另请检查主机上的防火墙配置