首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改Docker (snap)数据根文件夹

更改Docker (snap)数据根文件夹
EN

Stack Overflow用户
提问于 2020-09-27 13:07:01
回答 2查看 5.4K关注 0票数 6

我正在尝试将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中的空间。

谢谢大家的关注。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-05 09:40:31

/var/snap/docker/common/var-lib-dockerhttps://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末尾添加以下内容:

代码语言:javascript
运行
复制
echo '/home/username/docker /var/snap/docker/common/var-lib-docker none bind' >> /etc/fstab

重新启动后,您的停靠器数据根目录将存储在/home/username/docker中。

票数 3
EN

Stack Overflow用户

发布于 2022-09-27 11:21:21

我在Ubuntu上耗尽了空间,必须执行以下操作:

  1. 停止VM并创建一个新的固定卷
  2. 启动VM并确保已挂载新卷
  3. 停止码头服务 sudo系统停止docker.service sudo systemctl docker.socket
  4. /var/lib/docker复制到新卷 sudo /var/lib/docker/ /media/username/备用\ disk/
  5. 更新/etc/docker/daemon.json {“数据-根”:“/media/用户名/备用磁盘/停靠器”、“存储驱动程序”:"overlay2“}
  6. 重新装载系统并启动码头服务 sudo systemctl守护进程-重新加载sudo systemctl启动停靠程序

请参阅:https://docs.docker.com/config/daemon/systemd/#runtime-directory-and-storage-driver

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64088801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档