jauderho/tftpd 是一个基于 tftp-hpa 实现的轻量级 TFTP (Trivial File Transfer Protocol) 服务器 Docker 镜像。该镜像源自 kalaksi/docker-tftpd 项目,专注于提供最小化、易于部署的 TFTP 服务。
主要用途:
提供符合 TFTP 协议的文件传输服务,支持文件上传与下载,适用于需要简单、无认证机制的网络文件传输场景。
tftp-hpa(高性能 TFTP 服务器实现)作为核心,兼容性强。适用于需要 无认证、轻量级、低复杂度 文件传输的场景,不建议用于传输敏感数据或高并发业务。
从 Docker Hub 拉取最新版本镜像:
bashdocker pull jauderho/tftpd:latest
docker run)bashdocker run -d \ --name tftpd \ -p 69:69/udp \ -v /path/to/tftp/files:/tftpboot \ jauderho/tftpd:latest
-p 69:69/udp:映射容器 UDP 69 端口到宿主机(TFTP 协议默认端口)。-v /path/to/tftp/files:/tftpboot:挂载宿主机目录 /path/to/tftp/files 作为 TFTP 根目录(容器内路径为 /tftpboot)。指定自定义端口、允许文件上传、启用详细日志:
bashdocker run -d \ --name tftpd \ -p 6969:69/udp \ # 宿主机端口 6969 映射到容器 69 -v /data/tftp:/tftpboot \ -e TFTP_DIR="/tftpboot" \ # TFTP 根目录(容器内路径) -e TFTP_PORT="69" \ # 容器内监听端口(需与 -p 映射一致) -e TFTP_OPTIONS="--secure --create --verbose" \ # 允许上传(--create)、详细日志(--verbose) jauderho/tftpd:latest
创建 docker-compose.yml 文件:
yamlversion: "3.8" services: tftpd: image: jauderho/tftpd:latest container_name: tftpd restart: unless-stopped # 异常退出后自动重启 ports: - "69:69/udp" # UDP 端口映射 volumes: - ./tftp-root:/tftpboot # 当前目录下 tftp-root 作为宿主机挂载点 environment: - TFTP_DIR="/tftpboot" # TFTP 根目录(容器内) - TFTP_USER="tftp" # 运行服务的用户 - TFTP_OPTIONS="--secure --create" # 允许创建文件(上传)、限制根目录访问 networks: - tftp-network # 自定义网络(可选) networks: tftp-network: driver: bridge
启动服务:
bashdocker-compose up -d
通过环境变量自定义服务行为,支持以下参数:
| 环境变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
TFTP_DIR | TFTP 服务根目录(容器内路径,需与挂载目录对应) | /tftpboot | -e TFTP_DIR="/data/tftp" |
TFTP_PORT | 容器内监听端口(必须为 UDP 端口,需与 -p 映射的容器端口一致) | 69 | -e TFTP_PORT="6969" |
TFTP_USER | 运行 TFTP 服务的系统用户 | tftp | -e TFTP_USER="root" |
TFTP_OPTIONS | tftp-hpa 额外选项(空格分隔),支持以下常用参数:- --secure:限制访问 TFTP_DIR 内文件- --create:允许上传新文件(需宿主机目录权限)- --verbose:启用详细日志- --timeout 30:设置超时时间(秒) | --secure | -e TFTP_OPTIONS="--create --verbose --timeout 60" |
bashtftp <宿主机IP> tftp> get example.txt # 下载容器内 /tftpboot/example.txt 到本地
需先启用 --create 选项(见上文配置):
bashtftp <宿主机IP> tftp> put local-file.txt # 上传本地文件到容器内 /tftpboot/local-file.txt
权限问题:
宿主机挂载目录(如 /path/to/tftp/files)需确保容器内用户(默认 tftp,UID/GID 为 100:101)有读写权限,否则可能导致文件上传失败。可通过 chmod 777 /path/to/tftp/files 临时测试,生产环境建议通过 --user 参数指定宿主机用户 ID。
防火墙配置:
宿主机防火墙需允许 UDP 69 端口(或自定义端口)的入站流量,否则客户端无法连接。
日志查看:
通过 docker logs tftpd 查看服务运行日志,启用 --verbose 选项可获取更详细的传输记录。
安全性:
TFTP 协议无认证机制,请勿用于传输敏感数据。建议通过网络隔离(如 VLAN)限制访问范围。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429