apt-get中的Docker构建失败

时间:2017-06-30 11:03:11

标签: docker

我在构建期间遇到错误。我看过很多类似的问题,但似乎没有解决这个问题。

我在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

解决方法的任何解释或想法?

2 个答案:

答案 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,因为它可能很容易解决。