如何更改docker映像存储的目录根

如何更改docker映像存储的目录根,docker,Docker,我使用docker构建了一些图像。为了腾出驱动器空间,我决定将默认的docker映像和容器存储('/var/lib/docker')更改为我的附加驱动器('/mnt') 我更改'/lib/systemd/system/docker.service',并添加 'ExecStart=/usr/bin/dockerd-H fd://-g/mnt/data' 问题是,当我这样指示dir root时,它就像一个符咒一样工作,但是如果我想更深入,例如 'ExecStart=/usr/bin/dockerd

我使用docker构建了一些图像。为了腾出驱动器空间,我决定将默认的docker映像和容器存储('/var/lib/docker')更改为我的附加驱动器('/mnt')

我更改'/lib/systemd/system/docker.service',并添加

'ExecStart=/usr/bin/dockerd-H fd://-g/mnt/data'

问题是,当我这样指示dir root时,它就像一个符咒一样工作,但是如果我想更深入,例如

'ExecStart=/usr/bin/dockerd -H fd:// -g /mnt/data/subFolder/AABB'
当我
'systemctl后台程序重新加载'
'service docker restart'
我得到一个错误:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: inactive (dead) (Result: exit-code) since Wed 2017-08-16 16:25:28 EDT; 46s ago
     Docs: https://docs.docker.com
  Process: 4543 ExecStart=/usr/bin/dockerd -H fd:// -g /mnt/data/subFolder/AABB (code=exited, status=1/FAILURE)
 Main PID: 4543 (code=exited, status=1/FAILURE)

Aug 16 16:25:28 myserver systemd[1]: Failed to start Docker Application Container Engine.
Aug 16 16:25:28 myserver systemd[1]: docker.service: Unit entered failed state.
Aug 16 16:25:28 myserver systemd[1]: docker.service: Failed with result 'exit-code'.
Aug 16 16:25:28 myserver systemd[1]: docker.service: Service hold-off time over, scheduling restart.
Aug 16 16:25:28 myserver systemd[1]: Stopped Docker Application Container Engine.
Aug 16 16:25:28 myserver systemd[1]: docker.service: Start request repeated too quickly.
Aug 16 16:25:28 myserver systemd[1]: Failed to start Docker Application Container Engine.
我已经检查了它们的所有权和权利

drwxr-xr-x 3 root root 4096 Aug 16 16:23 data
&
drwxrwxrwx 4 root  root 49 Aug  8 10:23 AABB
有人知道为什么会这样吗? 感谢您的帮助

在更改根目录(例如“/mnt/data”)后,我发现有一点更新 此文件夹的右侧也将更改

drwx--x--x 12 root root 4096 Aug 16 16:40 data
虽然把它改回去是可行的,但如果你能给我一些线索就太好了

这里有更多更新,
/subFolder/
似乎是NFS共享文件夹,这可能是原因


有没有办法把文件夹用作docker图像和容器存储

图像在
/var/lib/docker/overlay2

您可以移动此文件夹,然后创建符号链接到新位置

systemctl stop docker
mv /var/lib/docker/overlay2 /raid/docker-overlay2-data
ln -s /raid/docker-overlay2-data /var/lib/docker
systemctl start docker

您确定在尝试重新加载之前已完全停止docker服务吗?您可以使用
ps aux | grep-i docker | grep-v grep
@Ayushya来验证它,而不是您对我的响应,是的,我会停止它