
dicetechnology/dice-where-downloaderdice-where's downloader Docker镜像是一个轻量级的下载工具容器化实现,基于Alpine Linux构建,集成了高效的下载核心组件。镜像设计旨在提供开箱即用的下载能力,简化跨环境的部署和使用流程。
该镜像主要用于自动化或手动执行文件下载任务,支持从各类网络资源(如HTTP/HTTPS服务器、FTP服务器、文件共享平台等)下载文件,并提供灵活的任务管理能力。适用于个人、企业或开发场景中对下载任务的标准化、隔离化需求。
从Docker Hub拉取最新版本镜像:
bashdocker pull dicewheres/downloader:latest
如需指定版本,替换latest为具体版本号(如v1.2.0)。
通过命令行参数指定下载URL,将文件下载至本地目录(需挂载宿主机目录至容器内下载路径):
bashdocker run --rm -v /本地下载目录:/app/downloads \ dicewheres/downloader:latest \ download --url "[***]" --output "/app/downloads"
--rm:任务完成后自动删除容器-v /本地下载目录:/app/downloads:挂载宿主机目录至容器内/app/downloads(下载文件输出路径)download:镜像内置的下载命令--url:目标文件URL--output:容器内输出路径(需与挂载路径一致)通过挂载配置文件定义批量任务。创建本地配置文件tasks.json:
json{ "tasks": [ { "url": "[***]", "output": "/app/downloads/file1.iso", "resume": true }, { "url": "[***]", "output": "/app/downloads/file2.tar.gz", "timeout": 3600 } ] }
运行容器并挂载配置文件:
bashdocker run --rm -v /本地下载目录:/app/downloads \ -v $(pwd)/tasks.json:/app/config/tasks.json \ dicewheres/downloader:latest \ batch --config /app/config/tasks.json
batch:批量任务命令--config:指定配置文件路径通过-e指定环境变量调整运行时行为:
| 环境变量名 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
LOG_LEVEL | 日志级别 | info | debug, info, warn |
MAX_RETRIES | 下载失败重试次数 | 3 | 正整数 |
CONCURRENT_LIMIT | 最大并发下载任务数 | 5 | 1-20 |
PROXY_URL | 全局代理地址(如HTTP代理) | 无 | [***] |
下载命令(download)支持的核心参数:
| 参数 | 说明 | 示例 |
|---|---|---|
--url | 目标文件URL(必填) | --url "[***]" |
--output | 输出路径(容器内路径) | --output "/app/downloads/file" |
--resume | 是否断点续传 | --resume true(默认false) |
--timeout | 超时时间(秒) | --timeout 1800(默认300) |
--user-agent | 自定义User-Agent头 | --user-agent "dice-downloader/1.0" |
创建docker-compose.yml配置文件,定义持久化下载目录和固定配置:
yamlversion: '3.8' services: downloader: image: dicewheres/downloader:latest volumes: - ./local_downloads:/app/downloads # 宿主机下载目录 - ./config:/app/config # 挂载配置文件目录 environment: - LOG_LEVEL=debug # 开启调试日志 - CONCURRENT_LIMIT=3 # 限制并发任务数为3 command: batch --config /app/config/tasks.json # 启动时执行批量任务 restart: unless-stopped # 任务失败后自动重启(可选)
启动服务:
bashdocker-compose up -d
查看日志:
bashdocker-compose logs -f
chmod 775 ./local_downloads调整目录权限。docker run时添加--env HTTP_PROXY=[***]或配置Docker全局代理。--memory和--cpus参数限制容器资源占用,例如docker run --memory 256m --cpus 0.5 ...。| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 下载文件为空或损坏 | 网络中断、目标文件不存在 | 检查URL有效性,开启断点续传(--resume true) |
| 容器启动后立即退出 | 配置文件格式错误、命令参数缺失 | 检查配置文件语法,确保--url等必填参数已提供 |
| 权限拒绝(Permission denied) | 宿主机挂载目录权限不足 | 调整目录权限或使用-u root以root用户运行容器(仅测试环境) |
| 超时失败 | 网络延迟高或目标服务器响应慢 | 增大--timeout参数值,检查网络连通性 |


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务