docker 版本变化后run容器报错docker: Error response from daemon: failed to mount /tmp/containerd-mount189633321: mount source: "overlay", target: "/tmp/containerd-mount189633321", fstype: overlay, flags: 0, data: "workdir=/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/25/work,upperdir=/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/25/fs,lowerdir=/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/19/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/18/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/17/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/16/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/15/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/14/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/13/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/12/fs:/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/11/fs,index=off", err: invalid argument

查看当前docker版本

docker -v

检查当前存储驱动

docker info | grep -E "Storage|Backing"

当前docker 29.0.0 显示Storage Driver: overlayfs

docker版本28.5.1 是Storage Driver: vfs

问题结论:

你的系统文件系统或内核版本 不完全支持 overlay2/overlayfs 驱动
Docker 29.0.0 移除了对旧驱动(vfs、overlay)的兼容逻辑
导致升级后挂载层初始化失败(即 “invalid argument” 错误)

使用阿里源镜像安装 指定的旧版本(例如 28.5.1)

一、更新并添加 Docker 源

apt -y update
apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt -y update

二、查看所有可用版本

apt-cache madison docker-ce

会看到这种输出:

apt-cache madison docker-ce
 docker-ce | 5:29.0.0-1~ubuntu.24.04~noble | http://mirrors.aliyun.com/docker-ce/linux/ubuntu noble/stable arm64 Packages
 docker-ce | 5:28.5.2-1~ubuntu.24.04~noble | http://mirrors.aliyun.com/docker-ce/linux/ubuntu noble/stable arm64 Packages
 docker-ce | 5:28.5.1-1~ubuntu.24.04~noble | http://mirrors.aliyun.com/docker-ce/linux/ubuntu noble/stable arm64 Packages

三、安装指定版本(例:28.5.1)

sudo apt-get install -y \
  docker-ce=5:28.5.1-1~ubuntu.24.04~noble \
  docker-ce-cli=5:28.5.1-1~ubuntu.24.04~noble \
  containerd.io

(可选)锁定版本防止自动升级

sudo apt-mark hold docker-ce docker-ce-cli containerd.io

要解除锁定可用:

sudo apt-mark unhold docker-ce docker-ce-cli containerd.io

验证安装结果

docker -v
docker info | grep "Storage Driver"

这样就可以继续使用 vfs 驱动,不会再出现 Docker 29 的 overlayfs 挂载错误

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐