更改Docker(快照)数据根文件夹
我正在尝试将docker图像、容器等的默认数据文件夹更改为其他路径。docker的Snap安装在更改Docker(快照)数据根文件夹,docker,ubuntu-20.04,Docker,Ubuntu 20.04,我正在尝试将docker图像、容器等的默认数据文件夹更改为其他路径。docker的Snap安装在/var/Snap/docker/common/var lib docker上有这样的文件夹。 理论上,我可以使用deamon.json中的data root选项来改变这一点。但是,如果我更改daemon.json添加“数据根”:“/home/user/docker”docker将不会启动,因为它与标志(始终具有前面描述的默认路径)冲突 如果我停止docker,然后像这样启动它,我确实可以用我的自定义
/var/Snap/docker/common/var lib docker
上有这样的文件夹。
理论上,我可以使用deamon.json
中的data root
选项来改变这一点。但是,如果我更改daemon.json
添加“数据根”:“/home/user/docker”
docker将不会启动,因为它与标志(始终具有前面描述的默认路径)冲突
如果我停止docker,然后像这样启动它,我确实可以用我的自定义路径启动它:sudo snap start docker.dockerd--data root=/home/user/docker
。这并不漂亮,但很有效。有没有办法在启动时更改docker snap标志或使其更喜欢daemon.json选项
我读过存档的帖子,它在docker版本17中处理了这样的问题,但它并没有像我在网上找到的其他一些材料那样起到很大的帮助。我觉得符号链接可能是一种
我使用的是Docker19.03.11,snap安装在Ubuntu 20.04上
附言:新路径位于作为我的主目录安装的第二个硬盘上。更改路径将节省系统SSD中的空间
感谢您的关注。来自和,不完美但有效的解决方案似乎是在/var/snap/docker/common/var lib docker和/home/geoffroy/docker之间的绑定挂载,这是我在安装带有snap的docker之前的docker数据根
因此,首先,清除daemon.json中的data root选项
然后使用以下命令在/etc/fstab的末尾添加以下内容:
echo'/home/user/docker/var/snap/docker/common/var lib docker none bind'>/etc/fstab
重新启动后,docker数据根将存储在/home/user/docker尝试移动数据并创建符号链接。如果没有,那么您可能希望浏览
/etc/docker/daemon.json
,在那里可以设置新位置。