我使用 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 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
您可以移动此文件夹,然后创建符号链接(symbolic link)到它的新位置
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 - 如何更改docker镜像存储的dir root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45722611/