docker - 如何更改docker镜像存储的dir root

标签 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 -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/

相关文章:

docker - pip 从 docker 容器中安装 pymssql

Docker Compose 卡住下载或拉取 fs 层

docker - 在 nvidia docker 中使用 nvenc 运行 ffmpeg

docker - Kafka微服务升级最好最简单的方法是什么

java - 用于 Java 应用程序的 Docker 镜像中的 Selenium

docker - 连接多个Docker应用

api - 是否有用于获取已停止容器列表的API

docker - 如何在 Docker 容器(Python、Flask 和 Redis)中启动自定义 RQ 工作线程

docker - 使用 Docker 创建基于 CentOS 8 的 PHP Web 服务器

r - 无法在 r Shiny 的 docker 中安装 devtools