我在 Vultr Cloud 中使用 API 创建 VPS。我使用 UserScript 已有一年半了。(VPS 启动时会执行 UserScript)UserScript 首先安装 docker
apt install --yes docker.io
然后拉取图像并运行它。
上周apt install --yes docker.io
开始失败。
该问题的部分修复是:
ip link add name docker0 type bridge
ip addr add dev docker0 172.17.0.1/16
sleep 30
systemctl restart docker
如果我手动创建新的 VPS 而不使用 UserScript 并输入,apt install --yes docker.io
那么我仍然会收到错误。
我尝试了最新的 Ubuntu 21.10,但存在同样的问题。我尝试了snap
,但apt
遇到了同样的问题。
但是如果我在 AWS 中运行 Ubuntu 20.04,那么我仍然可以安装 docker,apt install --yes docker.io
Linode 和 DigitalOcean 也是如此。Vultr 中的 Fedora 似乎没有这样的问题。
我注意到 Vultr 最近在分配 IP 地址方面发生了一些变化。所以似乎他们最近的变化破坏了一些东西,我联系了他们,但我得到的回复却出乎意料地毫无帮助,说 Vultr 是自我管理服务,他们不会帮助解决像 docker 这样的问题。
有什么想法可能导致问题?我没有发布错误日志,因为我已经发布了修复,而且日志很大。
Error initializing network controller: list bridge addresses failed: PredefinedLocalScopeDefaultNetworks List
这里可能还有其他一些在 Ubuntu 中使用 docker 的 Vultr 客户端吗?
答案1
如果对您有用,请尝试以下步骤。
[admin@localhost]$ sudo apt-get remove docker docker-engine docker.io containerd runc
[admin@localhost]$ apt-get update
[admin@localhost]$ apt-get install -y ca-certificates curl gnupg lsb-release
[admin@localhost]$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
[admin@localhost]$ apt-get update
[admin@localhost]$ apt-get
[admin@localhost]$ apt-get install docker-ce docker-ce-cli containerd.io