我在/ var / lib / docker中没有overlayfs驱动程序

我的版本是Ubuntu 16.04,内核版本是4.4.0泛型

我想使用overlayfs驱动程序,所以我首先成功安装了docker: http://ciplogic.com/index.php/blog/107-docker-with-overlayfs-on-ubuntu-14-04

但是我在安装docker后找不到 /var/lib/docker/ 下的覆盖目录 . 那里只有 aufs 和其他目录 .

这是我的泊坞版:

客户:

版本:1.12.1

API版本:1.24

转到版本:go1.6.3

Git commit:23cf638

建造:2016年8月18日星期四05:33:38

OS / Arch:linux / amd64

服务器:

版本:1.12.1

API版本:1.24

转到版本:go1.6.3

Git commit:23cf638

建造:2016年8月18日星期四05:33:38

OS / Arch:linux / amd64

有没有人知道在docker中设置覆盖驱动程序的想法?非常感谢

回答(1)

2 years ago

afaik有必要明确告诉docker-daemon它应该使用哪个存储驱动程序 . 必要的开关是

--storage-driver=overlay

要使用systemd,您需要将 /lib/systemd/system/docker.service 复制到 /etc/systemd/system/docker.service 并更改 ExecStart -param:

root@pc / # cat /etc/systemd/system/docker.service 
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --storage-driver=overlay -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process

[Install]
WantedBy=multi-user.target

问候