如何在Debian上启用AUFS?

时间:2016-05-09 07:48:04

标签: docker debian gitlab-ci

当我尝试通过以下方式安装docker时:

curl -sSL https://get.docker.com/ | sh

我收到消息:

  

警告:linux-image-extra-virtual软件包不支持当前内核。我们没有AUFS支持。考虑安装linux-image-virtual kernel和linux-image-extra-virtual软件包以支持AUFS。

然而,Debian Jessie似乎都没有这个软件包:

# apt-get install linux-image-virtual linux-image-extra-virtual
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-image-virtual
E: Unable to locate package linux-image-extra-virtual

我在这里缺少什么?

3 个答案:

答案 0 :(得分:12)

现代内核不支持aufs,因此您应该跳过aufs的overlayfs。只需使用以下选项重新启动docker守护程序:

--storage-driver=overlay2

(或将此选项添加到/ etc / default / docker)

在某些系统中,您应该通过创建包含内容的/etc/systemd/system/docker.service来添加文件/ etc / default / docker的处理以启动过程:

[Service]
EnvironmentFile=-/etc/default/docker
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// $OPTIONS \
      $DOCKER_STORAGE_OPTIONS \
      $DOCKER_NETWORK_OPTIONS \
      $BLOCK_REGISTRY \
      $INSECURE_REGISTRY \
      $DOCKER_OPTS

更多信息here

执行

systemctl daemon-reload

要使更改生效。

小心!您的所有图片都无法访问。如果你想保留它们,只需保存并重新加载它们。您可以找到好的描述here

UPD。我已将overlay更改为overlay2,因为它解决了比描述here更多的问题

<强> UDP 即可。不相关,因为在现代版本的docker(18-06)中默认使用了overlay2

答案 1 :(得分:4)

实际上安装stock jessie会为你提供一个内核,它支持aufs。我的猜测是你通过jessie-backports升级到更高的内核版本,这不是标准的jessie设置。

使用当前的Debian jessie 8.7.1 amd64和内核3.16.0.4对此进行了测试。

# cat /etc/debian_version
8.7
# dpkg --get-selections | grep linux-image
linux-image-3.16.0-4-amd64          install
linux-image-amd64                   install

# dpkg -L linux-image-3.16.0-4-amd64 | grep aufs
/lib/modules/3.16.0-4-amd64/kernel/fs/aufs
/lib/modules/3.16.0-4-amd64/kernel/fs/aufs/aufs.ko

所以回答你的问题:

您可以重新安装Debian Jessie或降级到默认内核,并且您有一个支持aufs的jessie。

要在Debian 9上安装aufs,又称Debian,只需发出apt-get install aufs-dkms即可。遗憾的是,目前jessie-backports无法使用。

在我们公司,我们正在使用jessie aufs设置驱动我们的码头主机,一切都运行完美。

更新08-2018

即使现在我也不推荐使用overlay2进行制作。我们目前遇到容器问题,当在具有overlay2存储的容器中运行时,mysql无法创建/var/run/mysqld.sock。

自2018年8月起,one year old issue解决了此问题。

答案 2 :(得分:-2)

你可以尝试

sudo apt-get install linux-image-extra-$(uname -r)

安装应包含AUFS支持的增强内核版本。