Docker的默认DNS(例如8.8.8.8)在我工作时被阻止,所以我想更改默认值.我已经能够这样做了
$docker daemon --dns
但是我想使用systemd插件来执行此操作,因为Docker官方文档推荐这样做.我已经制作了一个/etc/systemd/system/docker.service.d/dns.conf文件,并使用了这样的东西:
[Service]
DNS=
但我只是不知道变量名称应该是什么.我该如何设置?更重要的是,是否有一个页面记录了可以在Docker的systemd drop-ins中使用的所有配置变量?
(btw,这是Ubuntu 15.10上的Docker 1.9,虽然我不怀疑任何错误)
您不需要将DNS = ..行,而是将ExecStart =部分从/usr/lib/systemd/system/docker.service文件复制到dns.conf(或mydocker.conf).在ExecStart的守护进程部分之后添加–dns $ip.例如.:
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon --dns 192.168.1.1 -H fd://
其中192.168.1.1是dns服务器的ip.
现在通过systemctl和docker重新启动docker,现在应该用自己的dns重新启动. (可以通过systemctl status docker.service | grep dns查看).
请注意,空ExecStart =是必需的,因为只有在首先清除ExecStart时,systemctl才会超过ExecStart.
还要注意,在/ etc / systemd / system /中编辑文件后,需要一个systemctl守护程序重新加载.
最后一点是,在某些系统上,docker.service不在/usr/lib / systemd / system /中,而是位于/ lib / systemd / system /中.