我正在尝试在Debian 9.8上设置一个Docker容器,但是在运行docker-compose up -d
时仍然出现以下错误:
W: Failed to fetch http://deb.debian.org/debian/dists/jessie-updates/main/binary-amd64/Packages 404 Not Found
这将导致流程缩短。
我有以下Dockerfile(为缩短可读性),其中有2个对apt-get update
的调用,我修改了这些建议from these pages无用:
RUN echo "deb [check-valid-until=no] http://archive.debian.org/debian jessie main" > /etc/apt/sources.list.d/jessie.list
RUN sed -i '/deb http:\/\/deb.debian.org\/debian jessie-updates main/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update
RUN sed -i '/jessie-updates/d' /etc/apt/sources.list
RUN apt-get update
我还删除了在/etc/apt/sources/list
中可以找到的对jessie的所有引用。我想念什么?
编辑我没有意识到项目中有多个pldocker文件,所以我一个一个地编辑了所有文件。就是说,有没有一种集中流程的方法?
答案 0 :(得分:2)
我运行了以下命令,没有问题:
$ cat df.jessie-updates
FROM python:3.5.2
RUN sed -i '/jessie-updates/d' /etc/apt/sources.list
RUN apt-get update \
&& apt-get install -y git
$ DOCKER_BUILDKIT=0 docker build -f df.jessie-updates -t test-jessie-updates .
Sending build context to Docker daemon 23.04kB
Step 1/3 : FROM python:3.5.2
---> 432d0c6d4d9a
Step 2/3 : RUN sed -i '/jessie-updates/d' /etc/apt/sources.list
---> Running in f2a056c4c0f2
Removing intermediate container f2a056c4c0f2
---> 07fff7724882
Step 3/3 : RUN apt-get update && apt-get install -y git
---> Running in a862679899c0
Ign http://deb.debian.org jessie InRelease
Get:1 http://deb.debian.org jessie Release.gpg [2420 B]
Get:2 http://deb.debian.org jessie Release [148 kB]
Get:3 http://security.debian.org jessie/updates InRelease [44.9 kB]
Get:4 http://deb.debian.org jessie/main amd64 Packages [9098 kB]
Get:5 http://security.debian.org jessie/updates/main amd64 Packages [825 kB]
Fetched 10.1 MB in 8s (1130 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
Suggested packages:
gettext-base git-daemon-run git-daemon-sysvinit git-doc git-el git-email
git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn
Recommended packages:
less rsync
The following packages will be upgraded:
git
1 upgraded, 0 newly installed, 0 to remove and 161 not upgraded.
Need to get 3709 kB of archives.
After this operation, 371 kB of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main git amd64 1:2.1.4-2.1+deb8u7 [3709 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 3709 kB in 2s (1557 kB/s)
(Reading database ... 21602 files and directories currently installed.)
Preparing to unpack .../git_1%3a2.1.4-2.1+deb8u7_amd64.deb ...
Unpacking git (1:2.1.4-2.1+deb8u7) over (1:2.1.4-2.1+deb8u2) ...
Setting up git (1:2.1.4-2.1+deb8u7) ...
Removing intermediate container a862679899c0
---> fc422b5b9188
Successfully built fc422b5b9188
Successfully tagged test-jessie-updates
这是您描述为无效的based off of your second link。如果您有一个MCVE,其中包括一个最小而完整的dockerfile,以及运行构建的完整输出,则可以帮助我们进一步调试。
答案 1 :(得分:1)
任何可能遇到这个问题的人jessie-update失败或jessie-backports失败,此解决方案都对我有用。
RUN echo 'deb http://archive.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list
RUN sed -i '/jessie-updates/d' /etc/apt/sources.list
RUN apt-get -o Acquire::Check-Valid-Until=false update`