我有两台裸金属机器,每台都运行Ubuntu 18.04和docker --version报告20.10.7。
在每个页面上,我都为ubuntu:22.04绘制了最新的图片。两份报告,逐字:
$ docker pull ubuntu:22.04
22.04: Pulling from library/ubuntu
Digest: sha256:26c68657ccce2cb0a31b330cb0be2b5e108d467f641c62e13ab40cbec258c68d
Status: Image is up to date for ubuntu:22.04
docker.io/library/ubuntu:22.04
$ docker images | grep 'ubuntu\s*22.04'
ubuntu 22.04 d2e4e1f51132 2 weeks ago 77.8MB但是:在一台主机上,容器中的apt update可以正常工作--在另一台主机上,返回代码100将得到错误输出:
$ docker run -it ubuntu:22.04
root@81ddacc04c9f:/# apt update
Get:1 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy InRelease [270 kB]
Get:3 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages [84.2 kB]
Get:4 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [109 kB]
Get:5 http://security.ubuntu.com/ubuntu jammy-security/restricted amd64 Packages [61.3 kB]
Get:6 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages [61.0 kB]
Get:7 http://archive.ubuntu.com/ubuntu jammy-backports InRelease [90.7 kB]
Get:8 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages [17.5 MB]
Get:9 http://archive.ubuntu.com/ubuntu jammy/restricted amd64 Packages [164 kB]
Get:10 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages [1792 kB]
Get:11 http://archive.ubuntu.com/ubuntu jammy/multiverse amd64 Packages [266 kB]
Get:12 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages [157 kB]
Get:13 http://archive.ubuntu.com/ubuntu jammy-updates/restricted amd64 Packages [68.6 kB]
Get:14 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages [97.6 kB]
Fetched 20.8 MB in 13s (1641 kB/s)
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke 'rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true'
E: Sub-process returned an error code
root@81ddacc04c9f:/# echo $?
100因此,以后在该容器中安装软件包的任何尝试都将失败。
较老的ubuntu码头形象,如。ubuntu:18.04和ubuntu:20.04不受影响。
发布于 2022-05-15 14:40:42
问题主机似乎有一个非标准的构建,可能也是旧的。
此外,host机器的 /etc/apt/sources.list.d/docker.list中有一行,被注释掉了。有人会认为这会影响主机上的apt更新,而不是容器上的更新,所以我认为这是一个可能的原因。
无论如何,在从错误的主机上删除了Docker及其预reqs的所有痕迹并从download.docker.com重新安装最新的稳定Docker之后,问题就消失了。经验教训: MAJOR.MINOR.PATCH并不能讲述整个故事。
https://askubuntu.com/questions/1408528
复制相似问题