如何更改"默认"docker-machine的dns设置

kan*_*ane 27 docker boot2docker docker-machine

我知道如何用dns设置创建一个新的docker-machine

docker-machine create -d virtualbox --engine-opt dns=8.8.8.8 my_machine
Run Code Online (Sandbox Code Playgroud)

但是已经有一个"默认"的虚拟机,所以有没有办法改变它的dns?

我在线阅读使用boot2docker的方法,但该工具已被弃用,而docker-machine已取代它.不幸的是,它是如此新鲜,以至于我没有在网上找到这方面的内容.

Nat*_*Nat 40

转到~/.docker/machine/machines/default/config.json并添加您自己的DNS服务器HostOptions/EngineOptions/Dns并重新启动docker machine.

{  
   "HostOptions": {
        "Driver": "",
        "Memory": 0,
        "Disk": 0,
        "EngineOptions": {
            "ArbitraryFlags": [],
            "Dns": ["192.168.99.1","8.8.8.8","8.8.4.4"], <-- set it here
            "GraphDir": ""
        }
}
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考 - 您还可以使用"docker-machine provision name"来应用任何配置更改,而无需重新启动计算机! (2认同)
  • 将此配置设置为 `["8.8.8.8", "8.8.4.4"]`,重新启动 docker 机器,重新启动 docker 服务,然后重新启动 docker 机器,然后重新配置它,然后再次重新启动它。机器莫名其妙地尝试使用`10.0.2.3`作为DNS服务器。 (2认同)

muk*_*ade 5

在 Windows 10 上,docker 的 gui 提供了一些功能。

只需右键单击托盘栏中的 docker 图标并选择“设置”项即可。

Docker 的选项

然后,在 Docker 窗口中,选择“网络”部分,将 DNS 选项从“自动”更改为“固定”,然后单击“应用”。之后 Docker 将自行重启。我输入了 Google 的 DNS (8.8.8.8),它对我来说工作得很好。

带有 dns 配置的 docker 网络部分

希望能帮助到你。