比如我內(nèi)網(wǎng)有個jenkins,我如果要訪問它我得牢牢記住它的ip和端口,一個服務(wù)我還能記住,多個的話我可能需要一個方便記憶的域名記錄一些內(nèi)網(wǎng)服務(wù)
第1步: 準(zhǔn)備好docker環(huán)境
第2步:下載好鏡像
docker pull andyshinn/dnsmasq:2.75
第3步:運(yùn)行dnsmasq
#后臺啟動
docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75
#進(jìn)入容器
docker exec -it dns-server /bin/sh
#創(chuàng)建代理文件-添加外部dns
vi /etc/resolv.dnsmasq
nameserver 114.114.114.114
nameserver 8.8.8.8
#新建本地解析規(guī)則配置-添加本地解析規(guī)則
#注意:這里的ip要填docker所在主機(jī)的ip
vi /etc/dnsmasqhosts
.168.3.54 jenkins.ean.com test1.ean.com
.168.3.54 redis.ean.com
#追加上我們剛才配置的兩個文件
#vi /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq
addn-hosts=/etc/dnsmasqhosts
#退出容器 & 重啟
exit
docker restart dns-server
第4步:搭建nginx
一定要在3.54上安裝nginx做域名反向代理
server{
listen 80;
server_name jenkins.ean.com;
proxy_set_header Host $host;
location /{
proxy_pass http://192.168.3.54:8060;
}
}
補(bǔ)充知識:docker pull 私有倉庫 鏡像
1、docker pull 私有倉庫報錯
http server gave http response to https clinet
由于docker版本不同,可嘗試下面兩種方法:(在客戶端配置)
(1)、方法一:通過配置/etc/docekr/daemon.json
vim /etc/docker/daemon.json
{
"insecure-registry": ["172.16.12.196:5000"](倉庫地址)
}
(2)、方法二:通過配置/etc/sysconfig/docker
vim /etc/sysconfig/docker
INSECURE_REGISTRY = "--insecure-registry 172.16.12.196:5000"
以上這篇docker內(nèi)網(wǎng)搭建dns使用域名訪問替代ip:port的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。