Docker搭建DuckDNS

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客户端,实现动态域名服务的自动更新。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值