打包 overlayroot 和 docker

打包 overlayroot 和 docker

有人让 overlayroot 和 docker 一起工作过吗?我正在运行 Ubuntu 18.04.3LTS,docker 守护进程无法启动。

具体来说:

sudo apt-get 安装 docker.io overlayroot

sudo docker ps #works,没有错误。

编辑 /etc/overlayroot.conf 以将 overlayroot="" 更改为 overlayroot="tmpfs"

sudo 更新-initramfs -u

sudo reboot #重新启动进入只读覆盖文件系统

sudo docker ps # 得到以下错误:

无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。docker 守护程序是否正在运行?

ps:要删除覆盖文件系统,请执行以下操作:

sudo overlayroot-chroot

编辑同一个文件以将其恢复为原始文件。

sudo 更新-initramfs -u

exit #退出chroot环境

sudo reboot # 您的系统恢复为正常读/写的 Ubuntu 系统并且“sudo docker ps”可以再次工作。

答案1

解决了我自己的问题。

Docker 在 /var/lib/docker 中使用 overlay2 文件系统。overlay2 文件系统不能在 overlayroot 使用的覆盖文件系统上使用。但它可以作为常规文件驻留在其上。所以我的解决方案是:复制 /var/lib/docker/overlay2。在 /var/lib/docker/overlay2 上安装 tmpfs 在启动时 - 将 /var/lib/docker/overlay2 的副本复制到该 tmpfs。启动 docker。Docker 现在在 tmpfs 上看到它,而不是覆盖文件系统。

相关内容