docker搭建dnsmasq服務(wù)的實(shí)現(xiàn)
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
掛載路徑創(chuàng)建
創(chuàng)建掛載
mkdir -p /data/docker_volumes/dns/logs && touch /data/docker_volumes/dns/logs/dnsmasq.log
創(chuàng)建 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
完整內(nèi)容查看:dnsmasq.conf
運(yùn)行鏡像
docker-compose up -d
查看
瀏覽器輸入: ip:8080

客戶端配置
在需要域名訪問的機(jī)器上配置 DNS 地址,dns 地址為你搭建 dnsmasq 服務(wù)的地址。
以下為例子:
windows

centOS

macOS

域名訪問
配置完成后即可按照你配置的域名進(jìn)行訪問,如上例,可以在瀏覽器輸入 : myweb.com訪問網(wǎng)站。
到此這篇關(guān)于docker搭建dnsmasq服務(wù)的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker搭建dnsmasq服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker不同網(wǎng)段下的容器互聯(lián)的實(shí)現(xiàn)
本文主要介紹了Docker不同網(wǎng)段下的容器互聯(lián)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
詳解Docker方式實(shí)現(xiàn)MySql 主從復(fù)制(實(shí)踐篇)
本篇文章主要介紹了詳解Docker方式實(shí)現(xiàn)MySql 主從復(fù)制(實(shí)踐篇),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
Docker單機(jī)部署Doris超詳細(xì)圖文教程
Apache?Doris是一款基于MPP架構(gòu)的分析型數(shù)據(jù)庫,由百度大數(shù)據(jù)部研發(fā),支持亞秒級(jí)響應(yīng)時(shí)間的實(shí)時(shí)數(shù)據(jù)分析,本文旨在為學(xué)習(xí)Doris的同學(xué)提供一個(gè)快速的操作指引,以便更高效地挖掘數(shù)據(jù)背后的價(jià)值,對(duì)docker?部署Doris?數(shù)據(jù)庫使用感興趣的朋友跟隨小編一起看看吧2024-09-09
docker實(shí)現(xiàn)mysql主從復(fù)制的示例代碼
Docker它不香嗎?即省去了安裝Mysql所需要的步驟,有多個(gè)容器之間相互資源獨(dú)立,IP互不沖突,具有一定的參考價(jià)值,感興趣的可以了解一下2021-08-08
使用Docker構(gòu)建企業(yè)級(jí)自定義鏡像的方法
這篇文章主要介紹了使用Docker構(gòu)建企業(yè)級(jí)自定義鏡像的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
Linux系統(tǒng)docker部署.net?core3.1的詳細(xì)步驟
這篇文章主要介紹了Linux系統(tǒng)docker部署.net?core3.1,文章演示基本的基于docker部署.netcore服務(wù),linux系統(tǒng)騰訊云ubuntu,.net?core版本3.1,需要的朋友可以參考下2022-09-09

