比如我内网有个jenkins,我如果要访问它我得牢牢记住它的ip和端口,一个服务我还能记住,多个的话我可能需要一个方便记忆的域名记录一些内网服务
第1步: 准备好docker环境
第2步:下载好镜像
docker pull andyshinn/dnsmasq:2.75
第3步:运行dnsmasq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#后台启动 docker run -d -p 53:53 /tcp -p 53:53 /udp --cap-add=NET_ADMIN --name dns-server andyshinn /dnsmasq :2.75 #进入容器 docker exec -it dns-server /bin/sh #创建代理文件-添加外部dns vi /etc/resolv .dnsmasq nameserver 114.114.114.114 nameserver 8.8.8.8 #新建本地解析规则配置-添加本地解析规则 #注意:这里的ip要填docker所在主机的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做域名反向代理
1
2
3
4
5
6
7
8
|
server{ listen 80; server_name jenkins.ean.com; proxy_set_header Host $host; location /{ proxy_pass http: //192 .168.3.54:8060; } } |
补充知识:docker pull 私有仓库 镜像
1、docker pull 私有仓库报错
http server gave http response to https clinet
由于docker版本不同,可尝试下面两种方法:(在客户端配置)
(1)、方法一:通过配置/etc/docekr/daemon.json
1
2
3
4
|
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内网搭建dns使用域名访问替代ip:port的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u011662047/article/details/105640408