由于fedora25默认使用network manager进行网络管理,在无网的情况下(没接网线、没连wifi的场景)就不会创建/etc/resolv.conf文件,而docker容器的dns解析又依赖于该文件,直接导致了这种情况下docker容器无法启动。
此时可以在系统的/etc/NetworkManager/dispatcher.d/pre-up.d目录下创建脚本,在网络启动前创建resolv.conf文件,脚本内容如下:
#!/bin/sh
touch /var/run/NetworkManager/resolv.conf
touch /etc/resolv.conf
然后将该文件加上可执行权限,保证其可以正常被执行。
此时可以测试,在拔掉网线和禁用wifi的情况下重启系统,启动后由于/etc/resolv.conf文件已被创建,因此不会影响docker容器的启动。
本文可能也适用于其他的linux发行版,但是没有经过测试。
网友评论