1

今天,我尝试使用 Alpine Linux 3.2 构建一个 Docker 容器。但是,该apk命令在构建容器映像期间不成功,因为它无法检索APKINDEX文件。

我尝试将其他dl-链接添加到 Dockerfile 配方但没有成功:

RUN echo "ipv6" >> /etc/modules
RUN echo "http://dl-1.alpinelinux.org/alpine/v3.2/main" >> /etc/apk/repositories; \
    echo "http://dl-2.alpinelinux.org/alpine/v3.2/main" >> /etc/apk/repositories; \
    echo "http://dl-3.alpinelinux.org/alpine/v3.2/main" >> /etc/apk/repositories; \
    echo "http://dl-4.alpinelinux.org/alpine/v3.2/main" >> /etc/apk/repositories; \
    echo "http://dl-5.alpinelinux.org/alpine/v3.2/main" >> /etc/apk/repositories; \
    echo "http://dl-6.alpinelinux.org/alpine/v3.2/main" >> /etc/apk/repositories

似乎与 alpinelinux.org 关联的域昨天已过期,因此无法通过其名称访问服务器。

有没有办法检索dl-要添加到 Dockerfile 的服务器的实际 IP 地址?

谢谢。

4

1 回答 1

3

我找到的解决方案是:

  1. 使用域历史检查器WhoIsRequest来确定与其中一台服务器关联的最新工作名称服务器dl-,例如dl-6.alpinelinux.org

    http://whoisrequest.com/history/

    结果是ns2.alpinelinux.org

  2. 然后,使用常规nslookup服务(例如http://www.kloth.net/services/nslookup.phpns2.alpinelinux.orgdl-6.alpinelinux.org)来获取存储库的实际 IP。最后,我到达:

    名称:dl-6.alpinelinux.org,地址:107.181.185.116

  3. 现在,Dockerfile 中的存储库行如下所示:

    运行回声“ http://107.181.185.116/alpine/v3.2/main”>>/etc/apk/repositories;\

就这些。

于 2016-03-23T18:27:51.053 回答