Docker 构建:无法获取档案

Boo*_*aah 0 ubuntu docker

我在我的 Windows 机器上使用 docker 工具箱。我正在尝试从 github https://github.com/pyannote/pyannote-video构建这个项目。当我通过运行构建图像时docker build -t pyannote/video .,出现以下错误:

Get:17 http://archive.ubuntu.com/ubuntu/ trusty-updates/main python-setuptools all 3.3-1ubuntu2 [230 kB]
Err http://archive.ubuntu.com/ubuntu/ trusty-updates/universe python-pip all 1.5.4-1ubuntu3
  404  Not Found [IP: 91.189.88.149 80]
Fetched 1658 kB in 21s (78.5 kB/s)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/p/python-pip/python-pip-whl_1.5.4-1ubuntu3_all.deb  404  Not Found [IP: 91.189.88.1
9 80]

E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/p/python-pip/python-pip_1.5.4-1ubuntu3_all.deb  404  Not Found [IP: 91.189.88.149 8
]

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
The command '/bin/sh -c DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends     python     python-dev     python-pip' returned
a non-zero code: 100
Run Code Online (Sandbox Code Playgroud)

我检查了http://archive.ubuntu.com/ubuntu/pool/universe/p/python-pip/。有 python-pip_1.5.4-1ubuntu4_all.deb 而不是 python-pip_1.5.4-1ubuntu3_all.deb。

输出要求我运行 apt-get update 或尝试使用 --fix-missing,但我在 Windows 上运行 docker。运行 apt-get 将返回找不到命令。我该怎么做才能解决这个问题?

jwo*_*der 5

编辑 Dockerfile 并更改第 5 行:

RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
Run Code Online (Sandbox Code Playgroud)

对此:

RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -yq --no-install-recommends \
                                   ^ Add this part ^
Run Code Online (Sandbox Code Playgroud)

然后告诉编写该 Dockerfile 的人阅读.

  • @Farhad:如果你所说的“Linux容器”是指[LXC](https://en.wikipedia.org/wiki/LXC),那么这个答案与此无关。如果您只是指一般的容器化 Linux 实例,那么您认为 Docker 是什么? (2认同)

may*_*ten 5

我发现 Docker 通常会缓存该apt-get update步骤,如果依赖项或它们的位置在此期间发生了变化,那么您apt-get实际上并没有任何好处。使用该标志运行docker build命令--no-cache可以强制这些缓存层运行并规避此问题。