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