我正在尝试将docker图像、容器等的默认数据文件夹更改为不同的路径。docker的Snap安装在/var/snap/docker/common/var-lib-docker
理论上我可以通过data-root
中的选项来改变deamon.json
但是,如果我更改daemon.json
,添加"data-root": "/home/user/docker"
对接器将不会因为与标志的冲突而启动(它始终具有前面描述的默认路径)。
如果我停止了它,然后像这样启动它:sudo snap start docker.dockerd --data-root=/home/user/docker
,我确实可以用我的自定义路径启动它。这不是很漂亮,但很管用。是否有一种方法可以在启动时更改docker snap标记或使其更喜欢daemon.json选项?
我读过这篇归档的文章,它在docker 版本17上处理了此类问题,但是它并没有像我在网上找到的其他一些材料那样有太大帮助。我觉得符号链接可能是一种方式.
我使用的是docker19.03.11,snap安装在Ubuntu20.04上。
P.s.:新路径在作为我的主目录挂载的第二个硬盘上。更改路径将节省系统SSD中的空间。
谢谢大家的关注。
发布于 2021-04-05 09:40:31
从/var/snap/docker/common/var-lib-docker和https://askubuntu.com/questions/550348/how-to-make-mount-bind-permanent中,不完美但有效的解决方案似乎是-- /home/username/docker和https://github.com/docker-snap/docker-snap/issues/3之间的绑定挂载--这是我在用snap安装对接器之前所拥有的以前的停靠器数据根。
因此,首先,清除daemon.json中的数据根选项。
然后使用以下命令在/etc/fstab末尾添加以下内容:
echo '/home/username/docker /var/snap/docker/common/var-lib-docker none bind' >> /etc/fstab
重新启动后,您的停靠器数据根目录将存储在/home/username/docker中。
发布于 2022-09-27 11:21:21
我在Ubuntu上耗尽了空间,必须执行以下操作:
/var/lib/docker
复制到新卷
sudo /var/lib/docker/ /media/username/备用\ disk//etc/docker/daemon.json
{“数据-根”:“/media/用户名/备用磁盘/停靠器”、“存储驱动程序”:"overlay2“}请参阅:https://docs.docker.com/config/daemon/systemd/#runtime-directory-and-storage-driver
https://stackoverflow.com/questions/64088801
复制相似问题