docker-ce在ubuntu:22.04进行apt update时报错E: Problem executing scripts APT::Update::Post-Invoke
使用docker-ce,pull一个ubuntu:22.04镜像,run后进行
apt update
更新一会,就报错:
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
在网上查找原因,跟docker版本有关,
Docker version 20.10.9以及以下版本使用ubuntu:22.04这个镜像会有问题。
-= 2024.06 更新=-
在Debian 12操作系统也会遇到同样问题。
0x01 临时解决法子
(只是临时法子,还是建议重装新的docker-ce版本)
在update之前修改下/etc/apt/apt.conf.d/docker-clean
文件
RUN sed -i -e 's/^APT/# APT/' -e 's/^DPkg/# DPkg/' /etc/apt/apt.conf.d/docker-clean
0x02 安装新的docker-ce版本
先卸载docker-ce
# 慎用(记得先保留镜像、容器)
apt-get purge docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker /usr/bin/docker /var/lib/containerd
hash -r
再安装高于20.10.9版本的docker-ce,例如20.10.10即可,当然目前有更新版本的。
(关于安装docker-ce的方法可以参考这文:ubuntu安装docker-ce)