如何更改Docker的基础目录

35次阅读
没有评论

问题描述

所有与Docker相关的文件夹都保存在/var/lib/docker目录下。但是用户的根目录空间非常有限。因此,用户希望将该位置中的所有内容移动到/home/User/my_space目录下。用户想要移动Docker的未来更改,而不仅仅是当前内容。请问如何实现这个需求?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

使用符号链接(symbolic link)是一种通用的解决方案,我已经成功使用过很多次。不过,我不建议使用你提到的路径,因为文件应该由rootdocker用户拥有,这取决于你的发行版/操作系统。因此,如果你想使用/home分区,可以按照以下步骤操作:
1. 关闭Docker服务。
2. 执行命令mv /var/lib/docker /home/,将/var/lib/docker目录移动到/home目录下。
3. 执行命令ln -s /home/docker /var/lib/docker,创建一个符号链接,将/var/lib/docker指向/home/docker
4. 启动Docker服务。
这个方法通常会在升级时保持有效,除非你卸载并重新安装Docker。

方案2

最近的Docker版本支持在/etc/docker/daemon.json文件中配置data-root选项。你可以编辑该文件并添加以下内容:

{  "data-root": "/home/docker"}

你可以在文档中找到该文件的完整模式。
在这个方案中,我们可以通过编辑/etc/docker/daemon.json文件来配置Docker的基础目录。将data-root选项设置为/home/docker即可。这样,Docker将使用新的基础目录。
请注意,这种方法可能因Docker版本而异。请确保查阅你使用的Docker版本的文档,以了解如何正确配置基础目录。
以上是两种常用的方法,你可以根据自己的需求选择其中一种来更改Docker的基础目录。

正文完