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这个镜像会有问题。
1. 临时解决法子
在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
2. 安装新的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)