NAS星球 篇十五:DDNS-Go插入Docker,IP冲突?那都不是事!

2024-05-23 11:40:12 33点赞 112收藏 62评论

做为NAS用户,少不了在外边的时候需要用到家中NAS服务的情况,无论是同步笔记、书签、照片,还是离线下载等等,总是绕不开的就是没有公网地址的问题。我一般是使用DDNS的方式来实现。

DDNS是什么

DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,通常可能是用在家里的电脑,没有固定公网IP,但是需要远程访问的场景。现在的网络环境,家庭用户是不会分配固定公网IP的,只能通过DDNS的方式实现,有些地区甚至只能IPv6 DDNS了。

DDNS-Go是什么

DDNS-Go是Go语言编写的简单易用的 DDNS,自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务。支持阿里云、腾讯云、Dnspod、Cloudflare、Callback、华为云、百度云、Porkbun、GoDaddy、Namecheap、NameSilo...

Docker的IP冲突

目前很多使用NAS的友友都用Nginx做代理,有的用宝塔,有的用Nginx Proxy Manager (NPM),而我两个都用了,宝塔除了反向代理还用于架设博客、管理数据库等。不管怎样都是采用Docker容器的方式使用,如果DDNS-Go也使用Docker容器且和NPM共用同一IP目前有三种方式:

1.网络代理:需要新建一个Docker网络,用于容器之间的通信,再通过代理方式实现,这样麻烦且不易于维护。

2.全部桥接到宿主机,但是这样宿主机的80端口就得让给NPM,而NPM的官方建议是给予独立IP,而且直接暴露宿主机IP,在安全上也是个问题。

3.DDNS-Go中的通过bash 脚本实现,但是当修改docker配置或者更新后,脚本也需要对应修改,否则可能会失联。

如果自己把Nginx Proxy Manager和DDNS-Go打包在一起做镜像,那么每次哪一个更新都需要重新打包(我是时常更新党,绝不更新的友友可以采用这条),也很麻烦。

解决方案

于是我采用了一个主程序文件,在不同容器中插入复用的方式。每个容器都可以映射单独的IP地址,避免了 IP 重叠的问题。各个容器可以独立使用和更新,如果要更新 DDNS-Go 只要用新版本覆盖就可以了。类似的方法我在前面为Docker添加中文支持中也采用过。

添加容器

在添加新的容器时,除了默认的配置外再加3个路径,分别是DDNS-Go执行文件、DDNS-Go的配置文件和staer.sh文件。

DDNS-Go的执行文件我是在appdate中单独放置的,各个有独立IP的服务都可以调用,一个执行文件,多个容器共同使用。更新的话,只替换这一个文件就可以了。

文件目录文件目录宝塔中添加的配置宝塔中添加的配置Nginx Proxy Manager添加的配置Nginx Proxy Manager添加的配置

DDNS-Go的配置文件和start.sh文件则是放在各个容器的配置文件中,毕竟不同的容器绑定的域名不同。其中"ddns_go_config.yaml"是DDNS-Go的配置文件,原文件名是".ddns_go_config.yaml"前面的点表示这个文件为隐藏文件,默认在“/root”文件夹下,可以通过Docker添加路径指向容器的配置文件夹。

start.sh是一个bash脚本,内容如下图:

DDNS-Go插入Docker,IP冲突?那都不是事!

也同样操作,我将它放在了根目录。之后在发布参数添加start.sh就可以了。

DDNS-Go插入Docker,IP冲突?那都不是事!

但是同样的方法用在宝塔就不行了,因为宝塔的容器中自带有bt.sh作为启动文件,其中包含了各个Web服务的启动项,如果强行插入start.sh会导致bt.sh启动失败,所以需要重新写一个bt.sh并通过路径映射替换掉原来的文件。

我的bt.sh如下:

DDNS-Go插入Docker,IP冲突?那都不是事!

至此,每个容器都可以各自绑定网址域名而互不影响了。

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

2279元起

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP4800 四盘位 私有云NAS存储(Intel N100、8GB)

1999元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1569元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1768元起

UGREEN 绿联 DXP2800 双盘位 私有云NAS存储(Intel N100、8GB)

UGREEN 绿联 DXP2800 双盘位 私有云NAS存储(Intel N100、8GB)

暂无报价

UGREEN 绿联 DXP6800 Pro 六盘位 NAS存储(Intel Core i5、无盘)

UGREEN 绿联 DXP6800 Pro 六盘位 NAS存储(Intel Core i5、无盘)

暂无报价

UGREEN 绿联 DXP480T Plus 四盘位 私有云NAS存储(酷睿i5-1235U、8GB)

UGREEN 绿联 DXP480T Plus 四盘位 私有云NAS存储(酷睿i5-1235U、8GB)

3399元起

UGREEN 绿联 绿联 DXP6800 Plus 六盘位NAS网络存储个人云硬盘服务器

UGREEN 绿联 绿联 DXP6800 Plus 六盘位NAS网络存储个人云硬盘服务器

3799元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1121元起

绿联私有云DXP8800 Pro八盘位NAS网络存储个人云硬盘服务器

绿联私有云DXP8800 Pro八盘位NAS网络存储个人云硬盘服务器

6599元起

UGREEN 绿联 DXP8800 八盘位NAS网络存储个人云硬盘服务器

UGREEN 绿联 DXP8800 八盘位NAS网络存储个人云硬盘服务器

5599元起

UGREEN 绿联 DXP8800 Plus 八盘位 NAS存储(Intel Core i5、无盘)

UGREEN 绿联 DXP8800 Plus 八盘位 NAS存储(Intel Core i5、无盘)

暂无报价

UGREEN 绿联 DXP4800 Plus 四盘位 私有云NAS存储

UGREEN 绿联 DXP4800 Plus 四盘位 私有云NAS存储

2699元起

UGREEN 绿联 DH2100 双盘位NAS(RTD1296、2GB)

UGREEN 绿联 DH2100 双盘位NAS(RTD1296、2GB)

899元起

UGREEN 绿联 私有云 DH2600 双盘位NAS网络存储 配2*8TB酷狼硬盘

UGREEN 绿联 私有云 DH2600 双盘位NAS网络存储 配2*8TB酷狼硬盘

1349元起

UGREEN 绿联 私有云DX4600 8G版 16T四盘位

UGREEN 绿联 私有云DX4600 8G版 16T四盘位

2279.01元起
62评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮
最新文章 热门文章
112
扫一下,分享更方便,购买更轻松