我正在安装docker版本:
Docker version 18.03.1-ce, build 9ee9f40
。
OS: centos 7
我想将默认docker根更改为/var/some_path
。
我发现了三种方式:
在文件/etc/sysconfig/docker
中添加(不起作用)
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H tcp://0.0.0.0:2375 -g /var/vms/docker'[centos@ip-172-31-1-225
当我重新加载并重新启动docker时,没有任何反应。它的根目录为/var/lib/docker
。
在/etc/docker/daemon.json
中添加(不起作用)
{ “ graph”:“ / var / vms / docker”, “ storage-driver”:“覆盖” }
它抱怨:
unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file:
图:(来自标志:/ var / lib / docker,来自文件:/ var / vms / docker),存储驱动程序:(来自标志:overlay,来自文件:overlay)
所以我从--graph=/opt/afp/docker --storage-driver=overlay
的表单中删除了/etc/systemd/system/docker.service.d/execstart.conf
。
此后,当我重新加载并重新启动docker
sudo systemctl daemon-reload
sudo systemctl restart docker
我遇到错误:
Error starting daemon: error initializing graphdriver: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior. Reformat the filesystem with ftype=1 to enable d_type support. Backing filesystems without d_type support are not supported.
在/etc/systemd/system/docker.service.d/execstart.conf
中添加(不起作用):
ExecStart=/usr/bin/dockerd --graph=/var/lib/vms/docker --storage-driver=overlay
(也请删除在步骤2中添加的/etc/docker/daemon.json
)
我遇到相同的错误:
Error starting daemon: error initializing graphdriver: overlay: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior. Reformat the filesystem with ftype=1 to enable d_type support. Backing filesystems without d_type support are not supported.
注意(重要):当使用根路径--graph=/var/lib/docker
时,一切正常。
答案 0 :(得分:1)
检查新的装载路径是xfs(ftype = 1)还是ext4分区。 用于检查xfd:xfs_info 这是因为docker文件只能在两个分区中的一个上工作。 如果上面提到了新的安装类型,请执行步骤2。
停止docker sudo systemctl停止docker
在/ etc / docker位置创建一个名为daemon.json的文件。
nano /etc/docker/daemon.json
提供文件中的以下信息:
{
"data-root": "/mnt/customlocation/docker-data",
"storage-driver": "overlay2"
}
sudo systemctl stop docker
docker info
检查docker根目录
希望有帮助!
答案 1 :(得分:0)
可以通过创建systemd插入服务文件来更改docker根目录。当您希望图像和容器或docker生成的文件位于另一个分区或驱动器中时,这很有用。
名称以.service结尾的单元配置文件,对有关systemd控制和监督的进程的信息进行编码。 Docker就是其中之一。
您应该避免直接修改.service
文件,因为在更新过程中可能会覆盖该文件。这就是为什么首选创建systemd插入服务文件的原因。插入服务文件仅更改一个用户感兴趣的特定设置。请注意,如果存在,则会读取多个插入文件。