DuckDNS 是一项免费的服务,用于将动态公网IP地址映射到一个静态的子域名上,这使得从外部网络访问内部网络设备成为可能,即使内部网络的IP地址会不定时更改。这对于需要远程访问家庭网络中的设备,如NAS(网络附加存储)、家庭自动化系统或其他基于服务器的应用等,尤其有用。
docker run -d \
--name=duckdns \
-e PUID=1000 `#optional` \
-e PGID=1000 `#optional` \
-e TZ=Europe/London \
-e SUBDOMAINS=subdomain1,subdomain2 \
-e TOKEN=token \
-e LOG_FILE=false `#optional` \
-v /path/to/appdata/config:/config `#optional` \
--restart unless-stopped \
linuxserver/duckdns
--name=duckdns: 设置容器的名称为duckdns。-e PUID=1000: 设置进程用户ID,确保容器内的文件和服务以指定用户权限运行,增加安全性。此参数为可选。-e PGID=1000: 设置进程组ID,作用同上,用于权限管理,也是可选参数。-e TZ=Europe/London: 设置容器的时区,确保时间记录和计划任务按照正确的时区执行。-e SUBDOMAINS=subdomain1,subdomain2: 设置要更新的DuckDNS子域名列表,可以是一个或多个,用逗号分隔。-e TOKEN=token: DuckDNS账户的令牌,用于验证身份。-e LOG_FILE=false: 指定是否在/config路径下生成日志文件,可选参数。-v /path/to/appdata/config:/config: 将宿主机的目录挂载到容器内的/config目录,用于持久化配置和日志数据,此参数为可选。--restart unless-stopped: 指定容器的重启策略,这里为除非手动停止,否则总是重启。
version: "2.1"
services:
duckdns:
image: linuxserver/duckdns
container_name: duckdns
environment:
- PUID=1000 # 设置进程用户ID
- PGID=1000 # 设置进程组ID
- TZ=Europe/London # 设置时区
- SUBDOMAINS=subdomain1,subdomain2 # 设置要更新的DuckDNS子域名列表
- TOKEN=token # DuckDNS账户的令牌
- LOG_FILE=false # 是否生成日志文件
volumes:
- /path/to/appdata/config:/config # 持久化配置和日志数据
restart: unless-stopped
在现实生活中,DuckDNS可以应用于多种场景,例如:
- 远程访问:允许用户从互联网上访问家中的服务器或其他设备。
- 自我托管服务:例如Nextcloud、Home Assistant等服务,它们需要可从外部访问的固定域名。
- 开发和测试:允许开发者从不同的网络环境访问正在开发的Web应用。
通过Docker部署DuckDNS,用户可以轻松地在任意支持Docker的系统上运行DuckDNS客户端,实现动态域名服务的自动更新。
791

被折叠的 条评论
为什么被折叠?



