docker搭建dnsmasq服务的实现

 更新时间:2024年01月18日 10:08:32   作者:douchunrong  
本文将指导读者如何使用Docker搭建DNSmasq服务,通过简单的步骤和详细的说明,帮助读者快速在Docker环境中部署DNSmasq,具有一定的参考价值,感兴趣的可以了解一下

Dockerfile 编写

mkdir -p /data/docker/dns && cd /data/docker/dns && vim Dockerfile

FROM centos:centos7.9.2009 as builder

ENV GOROOT=/usr/local/go
ENV GOBIN=/usr/local/go/bin
ENV GOPATH=/usr/local/go/gopath
ENV GOPROXY=https://goproxy.cn,https://goproxy.io,direct
ENV PATH=$PATH:$GOBIN:$GOPATH/bin

WORKDIR /opt

RUN  yum -y update && yum -y install wget git \
&& wget --progress=bar:force https://studygolang.com/dl/golang/go1.19.5.linux-amd64.tar.gz \
&& tar -zxvf go1.19.5.linux-amd64.tar.gz -C /usr/local \
&& rm -f go1.19.5.linux-amd64.tar.gz \
&& git clone https://github.com/jpillora/webproc.git \
&& cd webproc \
&& go build -o webproc -v .

FROM centos:centos7.9.2009

MAINTAINER traynordou@163.com

ENV DNSMASQ_CONF=/etc/dnsmasq.conf

COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN chmod +x /docker-entrypoint.sh
COPY --from=builder  /opt/webproc/webproc /usr/bin/webproc

RUN yum -y install dnsmasq \
&& cp /etc/dnsmasq.conf /etc/dnsmasq.conf.default

EXPOSE 8080
EXPOSE 53

ENTRYPOINT ["/docker-entrypoint.sh"]

docker-entrypoint.sh 编写

vim docker-entrypoint.sh

#!/bin/bash
systemctl start dnsmasq
webproc -c /etc/dnsmasq.conf -c /etc/hosts -- dnsmasq --no-daemon

编译镜像

vim build.sh

#!/bin/bash
docker build -t dnsmasq:latest .

编译

sh build.sh

docker-compose.yml 编写

vim docker-compose.yml

version: '3'

networks:
  app-tier:
    driver: bridge

services:
  etcd:
    image: 'dnsmasq:latest'
    container_name: "dns"
    restart: always
    ports:
      - 8080:8080
      - 53:53/tcp
      - 53:53/udp
    volumes:
      - /etc/hosts:/etc/hosts
      - /data/docker_volumes/dns/dnsmasq.conf:/etc/dnsmasq.conf
      - /data/docker_volumes/dns/logs/dnsmasq.log:/va/log/dnsmasq.log
      - /etc/resolv.conf:/etc/resolv.conf
    networks:
      - app-tier

挂载路径创建

创建挂载

mkdir -p /data/docker_volumes/dns/logs && touch /data/docker_volumes/dns/logs/dnsmasq.log

创建 dnsmasq.conf

vim /data/docker_volumes/dns/dnsmasq.conf
尾部写入:

# Include all files in /etc/dnsmasq.d except RPM backup files
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig

# dns log
log-facility=/va/log/dnsmasq.log

完整内容查看:dnsmasq.conf

运行镜像

docker-compose up -d

查看

浏览器输入: ip:8080

dnsmasq-web-ui

客户端配置

在需要域名访问的机器上配置 DNS 地址,dns 地址为你搭建 dnsmasq 服务的地址。
以下为例子:

windows

windows-dns

centOS

linux-dns

macOS

macos-dns

域名访问

配置完成后即可按照你配置的域名进行访问,如上例,可以在浏览器输入 : myweb.com访问网站。

到此这篇关于docker搭建dnsmasq服务的实现的文章就介绍到这了,更多相关docker搭建dnsmasq服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker不同网段下的容器互联的实现

    Docker不同网段下的容器互联的实现

    本文主要介绍了Docker不同网段下的容器互联的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 详解Docker方式实现MySql 主从复制(实践篇)

    详解Docker方式实现MySql 主从复制(实践篇)

    本篇文章主要介绍了详解Docker方式实现MySql 主从复制(实践篇),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • docker 镜像加速CentOS7详细介绍

    docker 镜像加速CentOS7详细介绍

    这篇文章主要介绍了docker 镜像加速CentOS7详细介绍的相关资料,需要的朋友可以参考下
    2016-12-12
  • Docker单机部署Doris超详细图文教程

    Docker单机部署Doris超详细图文教程

    Apache Doris是一款基于MPP架构的分析型数据库,由百度大数据部研发,支持亚秒级响应时间的实时数据分析,本文旨在为学习Doris的同学提供一个快速的操作指引,以便更高效地挖掘数据背后的价值,对docker 部署Doris 数据库使用感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • docker实现mysql主从复制的示例代码

    docker实现mysql主从复制的示例代码

    Docker它不香吗?即省去了安装Mysql所需要的步骤,有多个容器之间相互资源独立,IP互不冲突,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • 如何使用docker对容器资源进行限制

    如何使用docker对容器资源进行限制

    这篇文章主要介绍了如何使用docker对容器资源进行限制,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Docker部署JDK镜像的实现步骤

    Docker部署JDK镜像的实现步骤

    本文主要介绍了Docker部署JDK镜像的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • 使用Docker构建企业级自定义镜像的方法

    使用Docker构建企业级自定义镜像的方法

    这篇文章主要介绍了使用Docker构建企业级自定义镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Linux系统docker部署.net core3.1的详细步骤

    Linux系统docker部署.net core3.1的详细步骤

    这篇文章主要介绍了Linux系统docker部署.net core3.1,文章演示基本的基于docker部署.netcore服务,linux系统腾讯云ubuntu,.net core版本3.1,需要的朋友可以参考下
    2022-09-09
  • Docker中Dockerfile制作镜像的方法步骤

    Docker中Dockerfile制作镜像的方法步骤

    本文主要介绍了Dockerfile制作镜像的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论