带有 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 那样一个接一个地执行安装
我有一个使用 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 那样一个接一个地执行安装