Ubuntu 20.04更新Docker后执行docker run命令启动容器报错无法运行
问题根因
该报错由Ubuntu 20.04默认源内置的libseccomp2版本过低导致:Docker 20.10.x系列版本新增了对clone3系统调用的seccomp规则校验,旧版libseccomp2不支持该规则配置,就会触发权限拒绝报错,与系统补丁版本升级无关。
解决方案
方案1:升级libseccomp2依赖(优先推荐,无需替换现有Docker版本)
- 添加focal-backports源获取高版本依赖包:
echo "deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/focal-backports.list
- 更新源并安装新版
libseccomp2:
sudo apt update sudo apt install -t focal-backports libseccomp2
- 重启Docker服务生效:
sudo systemctl restart docker
- 验证修复结果:
sudo docker run hello-world
正常输出hello-world运行日志即修复完成。
方案2:更换Docker官方源安装最新稳定版(适合需要升级Docker版本的场景)
- 卸载当前Ubuntu源安装的Docker相关包:
sudo apt remove --purge docker.io containerd runc sudo apt autoremove -y
- 安装Docker官方源所需依赖:
sudo apt update sudo apt install ca-certificates curl gnupg lsb-release
- 导入Docker官方GPG密钥:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- 添加Docker官方stable源:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 安装最新版Docker组件:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
- 验证修复结果:
sudo docker run hello-world
正常输出hello-world运行日志即修复完成。
内容的提问来源于stack exchange,提问作者Vivek
相关产品推荐
相关产品推荐

