我正在尝试构建一个基于 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 图像。