docker構(gòu)建dnsmasq和web-ui完整流程

docker構(gòu)建dnsmasq和web-ui完整流程

由于后期需要基于kubernetes構(gòu)建CI/CD流程,涉及的組件比較多,同時(shí)需要為各個(gè)組件配置域名,真實(shí)模擬生產(chǎn)環(huán)境,需要搭建一個(gè)DNS Server,統(tǒng)一管理域名解析,查詢資料一段時(shí)間后,決定使用dnsmasq搭建內(nèi)部的DNS Server,接下來將詳細(xì)記錄完整的思考及構(gòu)建過程。

1. 構(gòu)建 dnsmasq web-ui

1.1 基于Centos7鏡像構(gòu)建基礎(chǔ)鏡像

FROM centos:centos7 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.17.linux-amd64.tar.gz \
&& tar -zxvf go1.17.linux-amd64.tar.gz -C /usr/local \
&& rm -f go1.17.linux-amd64.tar.gz \
&& git clone https://github.com/jpillora/webproc.git \
&& cd webproc \
&& go build -o webproc -v . 

FROM centos:centos7

MAINTAINER zhang513044@126.com

ENV DNSMASQ_CONF=/etc/dnsmasq.conf

COPY docker-entrypoint.sh /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"]

1.2 構(gòu)建鏡像

docker build -t dnsmasq-ui:1.0.0 .

1.3 啟動(dòng)鏡像

docker run --name dnsmasqd -d -p 8080:8080 -p 53:53 dnsmasq-ui:1.0.0

注:

  1. 8080是web端口
  2. 53是dns端口

啟動(dòng)效果如下:


0fd8abd54fe84abab2fc4c960c6abcac.png

參考文檔

  1. https://github.com/jpillora/webproc
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容