当前位置:嗨网首页>书籍在线阅读

06-技巧3 将Docker移动到不同分区

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

技巧3 将Docker移动到不同分区

Docker把所有与容器和镜像有关的数据都存储在一个目录下。因为它可能会存储大量不同的镜像,所以这个目录可能会迅速变大!

如果宿主机具有不同分区(这在企业Linux工作站上很常见),用户可能会更快遭遇空间限制。在这种情况下,用户会想要移动Docker所操作的目录。

问题

想要移动Docker存储数据的位置。

解决方案

停止Docker守护进程,并使用 -g 标志指定新的位置来启动。

假设想在/home/dockeruser/mydocker运行Docker。首先必须停止Docker守护进程(有关如何操作的讨论参见附录B)。

然后,执行下列命令:

$ dockerd -g /home/dockeruser/mydocker

将在这个目录中创建一组新的目录和文件。这些目录是Docker内部使用的,对其进行操作风险自担(因为我们已经尝过滋味了!)。

请注意,这个命令看起来像是把容器和镜像从之前的Docker守护进程清除了。不用担心。如果杀掉刚才运行的Docker进程,并重启Docker服务,Docker客户端就会指回它原来的位置,容器和镜像也将回归。如果想让这个移动永久有效,需要对宿主机系统的启动进程进行相应配置。

讨论

除了这个明显的用例(在空间有限的磁盘上回收空间),如果你想要对镜像和容器进行严格分区,也可以用到这个技巧。例如,如果你有权访问多个不同归属的私有Docker注册中心,这将确保你不会意外地把私有数据提供给错误的对象。