Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Docker(快照)数据根文件夹_Docker_Ubuntu 20.04 - Fatal编程技术网

更改Docker(快照)数据根文件夹

更改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,然后像这样启动它,我确实可以用我的自定义

我正在尝试将docker图像、容器等的默认数据文件夹更改为其他路径。docker的Snap安装在
/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
,在那里可以设置新位置。