使用docker搭建dns服务,解决内网机器用域名无法访问内网服务问题,并设置转发使除此之外的域名可正常解析
1.拉取 镜像 sameersbn/bind,这个带网页界面,使用的人也比较多
docker pull sameersbn/bind
2.运行容器
# 创建一个持久化存放文件的目录
mkdir -p /opt/docker/bind
# 使用容器创建应用
docker run --name bind -d --restart=always \
--publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \
--volume /opt/docker/bind:/data \
sameersbn/bind:9.16.1-20200524
3.使用你的https://ip:10000在浏览器中打开,默认账户密码root/password
4.配置
首先设置为中文
4.1添加解析记录
左侧菜单---服务器---BIND DNS Server---右边第二大部分"现有DNS区域"--点击"创建新的主区域"--填写"域名"即你的域名,Email地址也必填但可以随便填一个,其他默认--点击新建按钮---点击 第一个"地址"---名称可不填或填@,填写地址为 提供服务的内网机器ip地址---其他默认,点击新建,即成功添加一条记录
4.2 设置转发
回到BIND DNS Server 主页面----第一大部分"全局服务器选项"---点击第五个"转发和传输"---填写外网的公共dns地址如运营商的,阿里的等等---点击保存
再返回BIND DNS Server 主页 ----第一大部分点击第10个"默认区域"---第二部分"默认的区域设置"----"允许查询自…"---选择 列出的 … ----文本框填写 any
---点击保存
4.3 要生效 还要返回主页面---点击右上角三个按钮的第一个刷新,如果还不行则可以用docker restart bind 命令重启容器
还有一些问题我没有碰到,如果遇到可参考以下文章:
使用Docker搭建自己的DNS服务器 - 腾讯云开发者社区-腾讯云 (tencent.com)
linux最简单的部署DNS服务器(Docker方式)_star白的博客-CSDN博客
Docker 搭建 DNS 服务器并配置转发 - JoyLau's Blog | JoyLau
使用docker-bind搭建DNS服务器 - 掘金 (juejin.cn)
相关文章
- 使用Spring Boot创建docker image
- docker-maven-plugin:自动构建Maven多模块的Docker镜像,并推送到Docker Registry或阿里云
- Docker:慕课网--第一个docker化的java应用
- Docker Swarm 维护模式
- 创建Docker镜像
- docker 基本命令 (CentOs7 Docker 17.03.1-ce)
- docker部署后端单机项目
- [转]docker入门(利用docker部署web应用)
- 【docker】追加docker容器端口映射的方法
- 首次公开!华为顶级团队合编 300 页 Docker 进阶手册,理论实战双收
- Docker部署安装禅道
- Docker - docker的安装部署 - docker常用命令 - 底层隔离机制
- 【数据分析】Superset 之二 Docker安装初始化
- Docker容器(六)——创建docker私有化仓库
- Docker环境搭建与使用:docker常用的命令
- CentOS7下使用Harbor搭建Docker私有仓库
- MindSpore分布式并行训练 (GPU-Docker)mindspore—1.2.1—gpu—docker版本运行报错,Failed to init nccl communicator for group,init nccl communicator for group nccl_world_group
- Ubuntu 18.04在已经安装Docker CE后如何安装NVIDIA-Docker,以使docker容器内可以使用宿主机显卡
- 浅析Docker容器的两种运行模式及 docker run 的 --rm 参数的作用及与 docker rm 的区别
- 浅析Docker数据管理-数据库容器化并持久化:数据卷概念、创建数据卷的2种方式、docker volume用法
- dockerfile来构建自己的docker镜像
- 配置Docker中国区官方镜像http://get.daocloud.io/ 很好的一个源http://get.daocloud.io/#install-docker
- 怎么实现Docker容器之间通讯
- Docker启动报错docker: Error response from daemon: Conflict. The container name “/redis6“ is already in u
- 使用docker搭建mysql集群,实现负载均衡保证数据一致性方案实现
- docker in docker (dind)、all in one (aino),关于docker和Linux的一些另类用法
- docker错误 legacy plugin:Post http://127.0.0.1:23750/Plugin.Activate: dial tcp 127.0.0.1:23750 refused
- Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock