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



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

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

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

问题是当我像这样指示 dir 根时,它就像一个魅力,但如果我想更深入,例如

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

当我'systemctl daemon-reload''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

最新更新