在 ubuntu 14.04 上启动 docker 守护程序时出错(未安装设备 cgroup)
error starting docker daemon on ubuntu 14.04 (Devices cgroup isn't mounted)
我按照 docker 说明安装并验证了 docker 安装(来自 http://docs.docker.com/linux/step_one/)。
我在 2 Ubuntu 14.04 机器上试过,在启动 docker 守护进程时我在两台机器上都遇到了以下错误:
$ sudo docker daemon
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
INFO[0000] [graphdriver] using prior storage driver "aufs"
INFO[0000] Option DefaultDriver: bridge
INFO[0000] Option DefaultNetwork: bridge
WARN[0000] Running modprobe bridge nf_nat br_netfilter failed with message: modprobe: WARNING: Module br_netfilter not found. , error: exit status 1
INFO[0000] Firewalld running: false
WARN[0000] Your kernel does not support cgroup memory limit: mountpoint for memory not found
WARN[0000] mountpoint for cpu not found
FATA[0000] Error starting daemon: Devices cgroup isn't mounted
感谢任何帮助解决此问题的帮助。
注意:看起来这个问题只出现在 Ubuntu 14.04 及更早版本中。较新的 Ubuntu 版本不需要这个。
尝试以下操作:
以具有 sudo 权限的用户身份登录 Ubuntu。
编辑 /etc/default/grub 文件。
设置GRUB_CMDLINE_LINUX值如下:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
保存并关闭文件。
更新 GRUB。
$ sudo update-grub
重新启动系统。
有些人报告说重新启动 docker 守护程序有效:
sudo systemctl restart docker
如上所述,较新的docker documentation doesn't refer to this in the new Docker versions。
更新
这适用于 Ubuntu 14.04 或更早版本的一些人:
sudo apt-get install cgroup-lite
我只需要从 /etc/fstab
中删除任何 cgroup
的安装,我就解决了 Devices cgroup isn't mounted
的问题。我认为 Module br_netfilter not found
只是一个警告,不会阻止 Docker 启动。但是你可以通过安装来修复它:
apt-get install linux-image-3.19.0-33-generic linux-image-extra-3.19.0-33-generic
之后你必须重新启动。
需要“额外”,因为 aufs 不再包含在 Ubuntu 中的基本图像中。
我通过手动启动 docker 守护进程解决了这个问题:
sudo service docker start
我在 debian 上遇到过这个问题。
软件包 cgroupfs-mount
解决了这个问题。
sudo aptitude install cgroupfs-mount
可能需要软件包:
apt-get install aufs-tools
apt-get install cgroup-lite
就我而言,我不需要安装或配置任何新的东西。 Docker 在这次失败之前 运行 很好。
尝试重新启动 docker(例如 systemctl restart docker
)。
如果失败,请关闭并冷启动机器。确保 docker 为 运行。
在正常运行 129 天后,我的 docker 进入了一个奇怪的糟糕状态。
我刚刚在 Fedora 31 上遇到了这个问题。here 中描述的解决方案是将 systemd.unified_cgroup_hierarchy=0
附加到 /etc/sysconfig/grub
中的 GRUB_CMDLINE_LINUX
变量。
(在我的例子中,GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet systemd.unified_cgroup_hierarchy=0"
)
然后运行grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
然后重启。
我按照 docker 说明安装并验证了 docker 安装(来自 http://docs.docker.com/linux/step_one/)。
我在 2 Ubuntu 14.04 机器上试过,在启动 docker 守护进程时我在两台机器上都遇到了以下错误:
$ sudo docker daemon
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
INFO[0000] [graphdriver] using prior storage driver "aufs"
INFO[0000] Option DefaultDriver: bridge
INFO[0000] Option DefaultNetwork: bridge
WARN[0000] Running modprobe bridge nf_nat br_netfilter failed with message: modprobe: WARNING: Module br_netfilter not found. , error: exit status 1
INFO[0000] Firewalld running: false
WARN[0000] Your kernel does not support cgroup memory limit: mountpoint for memory not found
WARN[0000] mountpoint for cpu not found
FATA[0000] Error starting daemon: Devices cgroup isn't mounted
感谢任何帮助解决此问题的帮助。
注意:看起来这个问题只出现在 Ubuntu 14.04 及更早版本中。较新的 Ubuntu 版本不需要这个。
尝试以下操作:
以具有 sudo 权限的用户身份登录 Ubuntu。
编辑 /etc/default/grub 文件。
设置GRUB_CMDLINE_LINUX值如下:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
保存并关闭文件。
更新 GRUB。
$ sudo update-grub
重新启动系统。
有些人报告说重新启动 docker 守护程序有效:
sudo systemctl restart docker
如上所述,较新的docker documentation doesn't refer to this in the new Docker versions。
更新
这适用于 Ubuntu 14.04 或更早版本的一些人:
sudo apt-get install cgroup-lite
我只需要从 /etc/fstab
中删除任何 cgroup
的安装,我就解决了 Devices cgroup isn't mounted
的问题。我认为 Module br_netfilter not found
只是一个警告,不会阻止 Docker 启动。但是你可以通过安装来修复它:
apt-get install linux-image-3.19.0-33-generic linux-image-extra-3.19.0-33-generic
之后你必须重新启动。
需要“额外”,因为 aufs 不再包含在 Ubuntu 中的基本图像中。
我通过手动启动 docker 守护进程解决了这个问题:
sudo service docker start
我在 debian 上遇到过这个问题。
软件包 cgroupfs-mount
解决了这个问题。
sudo aptitude install cgroupfs-mount
可能需要软件包:
apt-get install aufs-tools
apt-get install cgroup-lite
就我而言,我不需要安装或配置任何新的东西。 Docker 在这次失败之前 运行 很好。
尝试重新启动 docker(例如 systemctl restart docker
)。
如果失败,请关闭并冷启动机器。确保 docker 为 运行。
在正常运行 129 天后,我的 docker 进入了一个奇怪的糟糕状态。
我刚刚在 Fedora 31 上遇到了这个问题。here 中描述的解决方案是将 systemd.unified_cgroup_hierarchy=0
附加到 /etc/sysconfig/grub
中的 GRUB_CMDLINE_LINUX
变量。
(在我的例子中,GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora-swap rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet systemd.unified_cgroup_hierarchy=0"
)
然后运行grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
然后重启。