【问题标题】:apt update Failed to fetch, ERROR on building Docker imageapt update 获取失败,构建 Docker 镜像时出错
【发布时间】:2019-10-31 12:04:37
【问题描述】:

说明:

  • 运行 docker 镜像构建命令时

docker build -f server3d.dockerfile . -t rcss3d/rcssserver3d:latest --no-cache

  • 部分错误信息如下
E: Failed to fetch http://172.18.7.250/files/31720000019B085F/ftp.debian.org/debian/pool/main/f/fonts-dejavu/fonts-dejavu-core_2.37-1_all.deb  File has unexpected size (1068028 != 1040712). Mirror sync in progress? [IP: 172.18.7.250 80]
   Hashes of expected file:
    - SHA256:f2b3f7f51e23e0493e8e642c82003fe75cf42bc95fda545cc96b725a69adb515
    - SHA1:15970026c98abf7a150d20697aa16d10d72740ba [weak]
    - MD5Sum:be036b423d84ce26700dacdbdcddf7b5 [weak]
    - Filesize:1040712 [weak]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
  • 我的平台是Ubuntu 16.04.6,Docker 版本为 19.03.4,构建 9013bf583a(问题可能与平台无关?)

  • 在我的 PC 上发生了几次,几乎每次都在 Docker 上。

  • http://172.18.7.250 可能是我局域网中的服务器,我不知道为什么它只是重定向到它,也许是一些缓存机制?
  • 我先尝试apt update,然后用更好的source.list 替换,但还是一样。
  • 我尝试使用--no-cache 选项构建 docker 映像,它也不起作用。
  • 当我切换到另一个网络(不是在上面的局域网中)时,问题应该会消失,那么问题可能会得到解决。
  • 我想知道为什么会出现此错误以及其他避免的方法(例如阻止 ip 172.18.7.250)

嗯,这只是一个奇怪的问题,没有什么大问题...... 但它总是出现,让我感到困惑。

【问题讨论】:

    标签: docker debian apt


    【解决方案1】:

    我使用docker-compose,但我认为它会有所帮助:

    1. apt-get update 添加到您的 Dockerfile:
    ENV DEBIAN_FRONTEND noninteractive
    
    ...
    
    RUN apt-get update --fix-missing
    
    1. 不使用缓存重建您的容器:
    docker-compose build --no-cache %container_name%
    

    【讨论】:

      猜你喜欢
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2021-10-23
      相关资源
      最近更新 更多