zoukankan      html  css  js  c++  java
  • 通过docker安装dnsmasq

    前言

    通常我们通过多台机器搭建集群时,会为每台机器设置hosts文件

    比如

    vi /etc/hosts

    192.168.2.11 node1

    192.168.2.12 node2

    192.168.2.13 node3

    这样的操作每台机器都要做一次, 如果添加了机器 192.168.2.18 node8 那之前的每台都要更新.


    对此可以通过dnsmasq快速搭建一个本地dns服务, dnsmasq支持使用hosts文件做解析.

    搭建环境

    Ubuntu 16.10 IP 192.168.2.100

    docker_17

    安装

    1. 禁用ubuntu的dns

    因ubuntu系统自带了dnsmasq 需先禁用

    /etc/NetworkManager/NetworkManager.conf

    # dns=dnsmasq

    restart network-manager

    restart docker

    2. 设置一个本地hosts文件

    cat > /usr/local/graft/cdh_hosts <

    3. 拉取镜像

    docker pull andyshinn/dnsmasq:2.76

    4. 启动镜像

    docker run --name dns --cap-add=NET_ADMIN 
    -v /usr/local/graft/cdh_hosts:/etc/dnsmasq.hosts 
    -p 53:53/tcp -p 53:53/udp 
    -d andyshinn/dnsmasq:2.76
    


    5. 进入容器修改参数

    docker-enter dns
    
    #编辑dns配置参数
    
    vi /etc/dnsmasq.conf
    
    # 指定dnsmasq默认查询的上游服务器
    server=119.29.29.29
    server=180.76.76.76
    server=4.2.2.2
    
    #对特定域名进行智能路由
    server=/cn/114.114.114.114 
    server=/taobao.com/114.114.114.114 
    server=/taobaocdn.com/114.114.114.114 
    
    #使用之前的hosts文件
    addn-hosts=/etc/dnsmasq.hosts
    


    此时修改局域网的其他机器的dns为192.168.2.100

    尝试在其他机器 ping node1

  • 相关阅读:
    SpringMVC_04重定向和转发
    Spring事务声明
    SpringMVC_02_RequestMapping
    SpringMVC_01_初识
    Spring通过mybatis操作数据库
    SpringMVC_03_RestFul
    SpringMVC_05_json数据传输
    退役
    2017ICPC青岛 J.Suffix
    版本不兼容问题(未找到程序集)
  • 原文地址:https://www.cnblogs.com/fluffy/p/6946817.html
Copyright © 2011-2022 走看看