0

我有一个使用 centos:latest 的简单 Dockerfile,它无法使用 yum 找到 pdns。这是在 Windows 主机上运行的。

$ docker --version
Docker 版本 20.10.8,构建 3967b7d

Dockerfile_dns

FROM centos:latest

RUN yum update -y

RUN yum install -y epel-release pdns pdns-tools pdns-backend-postgresql pdns-backend-sqlite pdns-recursor net-tools bind-utils jq

使用命令
$ docker build -t dns_img -f Dockerfile_dns 。

#5 [2/3] RUN yum update -y
#5 sha256:103582845ea3b4ba6361ca1a570ed91dbb7ffbdb7bd1b67e3dc21635f2dfc8da
#5 CACHED

#6 [3/3] RUN yum install -y epel-release pdns pdns-tools pdns-backend-postgresql pdns-backend-sqlite pdns-recursor net-tools bind-utils jq
#6 sha256:6639667b2dcec34132dc4bfb88fe520d625f4ab8de649b631344017f22fbd2d7
#6 2.419 Last metadata expiration check: 0:16:22 ago on Fri Sep 24 16:21:33 2021.
#6 2.788 No match for argument: pdns
#6 2.792 No match for argument: pdns-tools
#6 2.796 No match for argument: pdns-backend-postgresql
#6 2.800 No match for argument: pdns-backend-sqlite
#6 2.804 No match for argument: pdns-recursor
#6 2.817 Error: Unable to find a match: pdns pdns-tools pdns-backend-postgresql pdns-backend-sqlite pdns-recursor
#6 ERROR: executor failed running [/bin/sh -c yum install -y epel-release pdns pdns-tools pdns-backend-postgresql pdns-backend-sqlite pdns-recursor net-tools bind-utils jq]: exit code: 1

我发现了一些使用特定 centos 版本的参考资料,但这也无济于事。

4

1 回答 1

0

那是因为您在已安装的存储库中没有这些依赖项。

安装此 repo,您​​将拥有所需的软件包:

RUN yum install epel-release

在你可以安装你的包之后:

RUN yum install -y pdns pdns-tools pdns-backend-postgresql pdns-backend-sqlite pdns-recursor net-tools bind-utils jq

无法安装 repo 及其仅包含的依赖项,因为 yum 一次执行安装,而不是像 python 的 pip 那样一个接一个地执行安装

于 2021-09-25T16:38:23.257 回答