常见问题: 1, Cannot connect to the Docker daemon. Is the docker daemon running on this host? 解决方法:这是docker首次安装时,最常见的问题了。 解决这个问题的标准处理方式有俩种: a, 用root权限启动docker后台服务, service docker start。b, 或将当前用户添加到docker组。 刨除以上俩个原因,docker daemon无法启动,更大程度是因为系统启动时报错了。因gentoo的kernel是自行定义的,绝大多少报错会有可能是kernel里的参数配置导致的。检查/var/log/docker.log来是否有报错。
2, Error starting daemon: Devices cgroup isn't mounted 解决方法,在gentoo的kernel里没有正确设置cgroup,需将其中包含部分全部打开,诸如memory cfs rt等。对于cgroup的blkio错误,需要通过block内的设置来打开。
3, can't initialize iptables table `nat': Table does not exist 解决方案:因为iptables为docker运行所必需的依赖组件(安全设置必需),因此对于iptable的正确设置就至关重要。如果在docker启动时,报nat的错,一般会有俩个原因,第一iptables未正确设置,第二还是kernel本身的设置问题。 标准的iptables设置顺序如下: iptables -F service iptables save service iptables restart 正常安装和配置的gentoo, 理论上应该有iptable和nat端。如果iptables或者nat设置不正确,也是因为在kernel配置上出问题了。 在kernel配置中,激活iptable和nat,需要打开network里的netfilter及以下的全部功能。不然在运行时,会报各种奇怪的错误。编译核心重新启动后,问题解决。
4, Error starting daemon: error initializing graphdriver: devmapper: Base Device UUID and F ilesystem verification failed: devicemapper: Error running deviceCreate (ActivateDevice) dm_task_run failed 故障分析: 这个故障产生的原因有几种,一个是docker的存储空间满了,新增加或修改container时会报错,另一个原因更直接,/var/log/docker/devicemapper下的data和metadata文件被删除。但归根结底,现有storage-set的uuid与docker配置里保存的uuid不一致了。 解决方式:这个问题的解决方式简单而粗暴,直接把docker的配置文件全部清除(现有数据会全部丢失),重启服务,让docker自动重建。 rm -rf /var/lib/docker/* service docker restart
版权归作者所有,任何形式转载请联系作者。
作者:keenshoes(来自豆瓣)
来源:https://www.douban.com/note/636127425/