我在构建期间遇到错误。我看过很多类似的问题,但似乎没有解决这个问题。
我在OS X El Capitan上运行Docker(版本17.06.0-ce-mac18)。
我的Dockerfile
是:
FROM ubuntu:14.04
RUN apt-get update && apt-get install -y -q git
我从其中一个git依赖项中收到错误请求400错误:
Get:38 http://archive.ubuntu.com/ubuntu/ trusty-updates/main patch amd64 2.7.1-4ubuntu2.3 [86.4 kB]
Fetched 7619 kB in 5s (1367 kB/s)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/libx/libx11/libx11-data_1.6.2-1ubuntu2_all.deb 400 Bad Request [IP: 91.189.88.162 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
The command '/bin/sh -c apt-get update && apt-get install -y -q git' returned a non-zero code: 100
解决方法的任何解释或想法?
答案 0 :(得分:1)
我认为目前无法使用正在使用的镜像,
您可以尝试使用sed
从docker文件更改ubuntu中的镜像。
您还可以使用ubuntu的镜像协议,它将获取您所在国家/地区内的镜像:
FROM ubuntu:14.04
RUN sed -i -e 's/http:\/\/archive/mirror:\/\/mirrors/' -e 's/\/ubuntu\//\/mirrors.txt/' /etc/apt/sources.list
RUN apt-get update && apt-get install -y -q git
您甚至可以以相同的方式指定要使用的特定镜像。 有关apt镜像的更多信息,请参阅此post
答案 1 :(得分:-1)
我认为问题来自于您使用的是ubuntu:14.04已被弃用(https://askubuntu.com/questions/731891/not-able-to-install-anything-and-update-on-ubuntu-14-10)
你能试试FROM ubuntu
吗?这将使用最新的ubuntu映像,即16.04。
编辑:Ubuntu 14.04是一个LTS,所以@jwodder指出它应该仍然受支持。我仍然会尝试使用最新的LTS(16.04)和FROM ubuntu
,因为它可能很容易解决。