有人让 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 上看到它,而不是覆盖文件系统。