基于 Alpine Linux 构建 Podman/Docker 镜像时找不到 /etc/resolv.conf

时间:2021-04-25 16:59:51

标签: podman

我正在尝试构建一个基于 Alpine linux 的 Podman 容器,该容器将包含 Nginx、PHP 和其他一些可能的东西。我的 Dockerfile 看起来像这样:

FROM alpine

RUN apk -U add openrc

# Nginx

RUN apk -U add nginx
ADD conf/default.conf /etc/nginx/http.d/default.conf 


EXPOSE 80

ENTRYPOINT /sbin/init

我可能需要再添加几行,但问题是它在第一个 apk 调用时失败,并出现一个奇怪的错误:

Error: error building at STEP "RUN apk -U add openrc": stat /etc/resolv.conf: no such file or directory

当与 alpine 交互运行图像 podman run -it alpine 时,一切正常,文件 /etc/resolv.conf 就在那里。出于绝望,我什至尝试使用最常见的名称服务器编译 resolv.conf 文件并将其复制到图像中,添加为 Dockerfile 的第二行:

ADD conf/resolv.conf /etc/resolv.conf 

但我仍然遇到同样的错误。这是什么奇怪的bug?

编辑:我刚刚发现在基于任何 Linux 系统(而不仅仅是 Alpine)构建容器时,使用任何使用 Internet 的 RUN 命令时我都会遇到相同的错误。因此,podman build 的处理方式可能存在问题,而不仅仅是 Alpine 图像。

0 个答案:

没有答案