docker在ubuntu:22.04进行apt update时报错E: Problem executing scripts APT::Update::Post-Invoke

使用docker,ubuntu:22.04镜像,执行

apt update

更新一会,就报错:

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文件,在Dockerfile中添加:

RUN sed -i -e 's/^APT/# APT/' -e 's/^DPkg/# DPkg/' /etc/apt/apt.conf.d/docker-clean
  1. 安装新的docker版本
# 查看docker 版本
$ docker --version
Docker version 20.10.8, build 3967b7d
# 停止docker服务
$ sudo systemctl stop docker
# 备份数据
$ sudo cp -r /var/lib/docker /data/docker_data
# 查看可安装版本(安装高于20.10.9版本的docker即可)
$ apt-cache madison docker-ce
 docker-ce | 5:24.0.5-1~ubuntu.20.04~focal | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:24.0.4-1~ubuntu.20.04~focal | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu focal/stable amd64 Packages
 docker-ce | 5:24.0.3-1~ubuntu.20.04~focal | https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu focal/stable amd64 Packages
 ...
# 安装指定版本
$ sudo apt install  docker-ce=5:24.0.5-1~ubuntu.20.04~focal

你可能感兴趣的:(运维,docker,ubuntu,容器)