加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用systemd在操作系统上设置Docker守护程序的DNS

发布时间:2020-12-16 03:31:14 所属栏目:安全 来源:网络整理
导读:Docker的默认DNS(例如8.8.8.8)在我工作时被阻止,所以我想更改默认值.我已经能够这样做了 $docker daemon --dns 但是我想使用systemd插件来执行此操作,因为Docker官方文档推荐这样做.我已经制作了一个/etc/systemd/system/docker.service.d/dns.conf文件,并使

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,虽然我不怀疑任何错误)

最佳答案
/etc/systemd/system/docker.service.d中的所有.conf文件都会覆盖/usr/lib/systemd/system/docker.service文件中的设置,这几乎是您尝试的.

您不需要将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 /中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读