我正在前厅的Fedora服务器上设置Dockerized环境。由于我在家用路由器上,因此IP由DHCP分配,并且会不时更改(来自ISP的静态IP每月花费15美元,为此我只需支付托管费用)。我使用dynu.com作为动态DNS托管服务,并使用ddclient更新Dynu上的DNS记录。
我正在使用this package进行设置。但是,指定的内容之一是服务器的外部IP地址。由于此更改,因此需要更新文件以反映此情况。
这是我目前的解决方案。首先,我将使用当前IP地址设置一个环境变量,然后编写一个bash脚本,它将:
sed
命令更新文件中的地址,然后使用sed
将/etc/environment
文件夹中的环境变量更新为最新值。该脚本将每5分钟作为cron作业运行一次。
这是实现此目标的最佳方法吗?还是可以仅通过将文件中的IP地址设置为当前外部IP的环境变量,然后简单地使用脚本来更新环境变量来完成此操作?还是有更简单的方法?
我正在前厅的Fedora服务器上设置Dockerized环境。由于我在家用路由器上,因此IP由DHCP分配,并且会不时更改(来自ISP的静态IP费用为每条$ 15 ...
如果只在设置容器时需要更新ip变量,则可以在.env文件中设置值。这样,您可以从主机控制容器环境,设置cron作业或您选择更新ip变量值的任何其他方式。我认为这将是更多的docker风格。在这里看看https://docs.docker.com/compose/env-file/关于如何在docker中使用.env的信息