由于我的 Docker 镜像/容器填满了我的根分区,我一直在尝试将data-root
Docker 安装的目录移动到其他位置(当前:/usr/lib/docker
;目标/mnt/target/docker-data
:)。根据互联网上的一些建议,应该可以简单地cp -r /usr/lib/docker /mnt/target/docker-data
创建一个符号链接ln -s /mnt/target/docker-data /var/lib/docker
(重命名原始/usr/lib/docker
位置后)。
不幸的是,当我尝试这个时,我的 Nginx 代理管理器失灵了(我想是吧?),并且无法通过网络访问任何 docker 容器(尝试从浏览器访问 Jellyfin 时出现 502 错误)。奇怪的是,只有 Portainer 可以正常访问。在监控时htop
,我注意到它certbot
一直在消耗大量的 CPU 资源,并且即使在 100% CPU 负载 10 分钟后似乎也没有稳定下来。
我知道这些观察结果有点模糊,但我目前不知道如何调试该问题,也不知道该问题的根本原因是什么。我欢迎任何进一步深入研究的建议。
为了完整起见,我执行的命令的确切顺序如下:
sudo systemctl stop docker
sudo systemctl stop docker.socket
sudo cp -r /var/lib/docker /mnt/target/docker-data
sudo mv /var/lib/docker /var/lib/docker.bak
sudo ln -s /mnt/target/docker-data /var/lib/docker
sudo systemctl start docker