【更新】推荐直接在物理主机的config.json文件进行配置,因为发现下面的方式修改/etc/resolv.conf后,重启docker时会失效。
配置文件默认在C:\Users\你的用户名\.docker\machine\machines\default内。
编辑其中的HostOptions>EngineOptions>Dns项,比如修改成:
{
"HostOptions": {
"Driver": "",
"Memory": 0,
"Disk": 0,
"EngineOptions": {
"ArbitraryFlags": [],
"Dns": ["192.168.99.1","8.8.8.8","8.8.4.4"],
"GraphDir": ""
}
}
以下是原内容:
环境:Win7(64) toolbox搭建的docker环境,在执行 docker search php时报类似下面的错误:
Error response from daemon: Get https://index.docker.io/v1/search?q=php&n=25: dial tcp: lookup index.docker.io on 10.0.2.3:53: read udp 10.0.2.15:46276->10.0.2.3:53: i/o timeout
index.docker.io的解析发生错误,这个问题修改物理本机的hosts并没有效果,需要:
docker-machine ssh
来登录到docker默认虚拟机环境,然后使用
sudo -i
来切换到root权限,然后执行:
echo “nameserver 8.8.8.8” > /etc/resolv.conf
来把8.8.8.8做为默认dns,这个/etc/resolv.conf内原来内容就是报错信息中显示的错误DNS。
exit退出ssh环境,现在就可以正常使用docker search等相关命令了。
本文链接:https://my.lmcjl.com/post/19.html
4 评论