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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Docker掛載本地目錄及實(shí)現(xiàn)文件共享的方法
本篇文章主要介紹了詳解Docker掛載本地目錄及實(shí)現(xiàn)文件共享的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Docker拉取ubuntu鏡像并建立環(huán)境的詳細(xì)過程
在Docker實(shí)戰(zhàn)中Ubuntu是一個常見的基礎(chǔ)鏡像,用于構(gòu)建其他應(yīng)用服務(wù)的容器,這篇文章主要給大家介紹了關(guān)于Docker拉取ubuntu鏡像并建立環(huán)境的詳細(xì)過程,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
Docker安裝OpenWrt的實(shí)現(xiàn)步驟
OpenWrt是一種可以運(yùn)行在路由器上的嵌入式操作系統(tǒng),提供了許多網(wǎng)絡(luò)服務(wù)和功能,本文主要介紹了Docker安裝OpenWrt的實(shí)現(xiàn)步驟,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
容器化技術(shù)架構(gòu)jenkins?docker?k8s腳本淺析
本篇博文不是詳細(xì)介紹容器技術(shù)的,而是具體的實(shí)踐。此篇博文分為兩個階段,分別是ci,cd。包含三部分內(nèi)容,分別是jenkins,docker,k8s的腳本淺析2022-03-03
docker打包鏡像后EasyExcel報(bào)錯,dockerfile缺少字體的解決
解決Docker打包鏡像后EasyExcel報(bào)錯的問題:1. Dockerfile增加字體配置;2. 使用EasyExcel的write時添加"inMemory"參數(shù)為true,開啟內(nèi)存處理模式(不推薦,1W數(shù)據(jù)以內(nèi)可以考慮)2025-02-02

