带有 centos:latest 和 pdns 的 Dockerfile

Dockerfile with centos:latest and pdns

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

$docker--版本
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 版本的参考,但这也没有帮助。

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

安装此存储库,您将获得所需的软件包:

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 那样一个接一个地执行安装