zoukankan      html  css  js  c++  java
  • 解决docker中DNS查询的问题

    I got a dns error that i can not access dns server, 

    that caused by : /etc/resolv.conf

    you can find this in host-machine

    nameserver 127.0.1.1
    search gd1.qingcloud.com

    Yes, you can find the process named "dnsmasq" listening 53 port, so you got nameserver 127.0.1.1 firstly.

    however, it's not same with the docker machine,

    search gd1.qingcloud.com

    nameserver 8.8.8.8
    nameserver 8.8.4.4

    you can find this from  /etc/resolv.conf

    the based image is download from docker offical via docker pull ubuntu.

    so you get 8 repeats 4 times dns server.

    however, WTF this at start ? => search gd1.qingcloud.com

    in docker, you don't have dnsmasq, you can not find gd1.qingcloud.com, have not configure nameserver 127.0.0.1

    you have do this to fix it:

    nameserver 202.96.209.133  # valid nameserver ip address, remove "search gd1.qingcloud.com"
    nameserver 8.8.8.8
    nameserver 8.8.4.4

    -----------------------

    一种更好的方式是直接安装 dnsmasq

    apt-get install dnsmasq

    service dnsmasq start

    其中报错:

    * Starting DNS forwarder and DHCP server dnsmasq 
    dnsmasq: setting capabilities failed: Operation not permitted

    解决方法:

    https://www.damagehead.com/blog/2015/04/28/deploying-a-dns-server-using-docker/

    添加配置:

    conf-dir=/etc/dnsmasq.d/,*.conf
    
    interface=lo
    interface=eth0
    interface=docker0
    resolv-file=/etc/resolv.dnsmasq.conf
    user=root
    

      service dnsmasq start

  • 相关阅读:
    ASP.NET MVC 5 安全性和创建用户角色
    使用ENTITY FRAMEWORK 6以正确的方式管理DBCONTEXT:深入指南
    C#读取二进制格式的shapefile
    ASP.NET MVC 应用程序初学者常见问题汇总
    ASP.NET MVC 应用程序中使用CKEditor 4 的步骤
    html5学习笔记2
    html5学习笔记
    c#接口定义与应用
    Django ORM 优化心得
    携程的那点事
  • 原文地址:https://www.cnblogs.com/clor001/p/5776847.html
Copyright © 2011-2022 走看看