本文主要是介绍docker toolbox 启动容器异常 cgroups:cannot found cgroup mount destination: unknown.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景: 使用docker toolbox时创建容器使用privileged参数,然后启动就会报错:docker: Error response from daemon: cgroups: cannot found cgroup mount destination: unknown.。
解决办法: 在 docker machine 的主机上,也就是virtual box中的linux虚拟机上(docker实际的宿主机)执行以下命令:
# 1、Windows在cmd下执行docker-machine ssh 进入Linux虚拟机
docker-machine ssh default
#2.在linux虚拟机上,添加下面挂载
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
问题: 但是每次重启docker machine 上面的挂载会被删除,因此每次重启docker都要运行一遍,好麻烦。
解决办法: 将挂载命令植入到docker启动脚本中 ======> 在docker toolbox安装目录下的start.sh
文件末尾加上:
"${DOCKER_MACHINE}" ssh "${VM}" "sudo mkdir /sys/fs/cgroup/systemd && sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd"
文件参照如下:
if [ $# -eq 0 ]; then# 在这里加上一行远程执行挂载命令"${DOCKER_MACHINE}" ssh "${VM}" "sudo mkdir /sys/fs/cgroup/systemd && sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd" echo "Start interactive shell"exec "$BASH" --login -i
elseecho "Start shell with command"exec "$BASH" -c "$*"
fi
这样每次启动docker quickstart 就直接可以用啦 ~
这篇关于docker toolbox 启动容器异常 cgroups:cannot found cgroup mount destination: unknown.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!