使用docker安装aria2
aria2 docker hub
1.命令行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| docker run -d \ --name=aria2 \ --network host \ -e PUID=0 \ -e PGID=0 \ -e TZ=Asia/Shanghai \ -e SECRET=yourtoken \ -e CACHE=512M \ -e PORT=6800 \ -e BTPORT=32516 \ -e WEBUI=true \ -e WEBUI_PORT=8080 \ -e UT=true \ -e RUT=true \ -e FA=falloc \ -e QUIET=true \ -e SMD=true \ -v /mnt/user/downloads1/aria2/config:/config \ -v /mnt/user/downloads1/aria2/downloads:/downloads \ --restart unless-stopped \ superng6/aria2:webui-latest
|
1 2
| ps. 修改第6行yourtoken root用户的PUID、GUID都为0,使用 id 用户名 查询
|
2. docker-compose.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| version: "3.1" services: aria2: image: superng6/aria2:webui-latest container_name: aria2 network_mode: host environment: - PUID=0 - PGID=0 - TZ=Asia/Shanghai - SECRET=yourtoken - CACHE=512M - PORT=6800 - WEBUI=true - WEBUI_PORT=8080 - BTPORT=32516 - UT=true - QUIET=true - SMD=true volumes: - /mnt/user/downloads1/aria2/config:/config - /mnt/user/downloads1/aria2/downloads:/downloads restart: unless-stopped
|
保存为docker-compose.yaml
,然后docker-compose up -d
启动,docker-compose stop
停止。
PS. 注意要在docker-compose同级目录下执行命令。
1 2
| ps. 修改第11行yourtoken root用户的PUID、GUID都为0,使用 id 用户名 查询
|
访问http://ip:8080
会出现这种情况,不要慌张。
按照上图操作后能够连接成功。
桥接可能对p2p连接有影响。
如果无下载速度请检查文件夹权限
参数 |
说明 |
--name=aria2 |
容器名设置为aria2 |
-v 本地文件夹1:/downloads |
Aria2下载位置 |
-v 本地文件夹2:/config |
Aria2配置文件位置 |
-e PUID=1026 |
Linux用户UID |
-e PGID=100 |
Linux用户GID |
-e SECRET=yourtoken |
Aria2 token |
-e CACHE=1024M |
Aria2磁盘缓存配置 |
-e PORT=6800 |
RPC通讯端口 |
-e WEBUI=true |
启用WEBUI |
-e WEBUI_PORT=8080 |
WEBUI端口 |
-e BTPORT=32516 |
DHT和BT监听端口 |
-e UT=true |
启动容器时更新trackers |
-e CTU= |
启动容器时更新自定义trackes地址 |
-e RUT=true |
每天凌晨3点更新trackers |
-e SMD=true |
保存磁力链接为种子文件 |
-e FA= |
磁盘预分配模式none ,falloc ,trunc ,prealloc |
-p 6800:6800 |
Aria2 RPC连接端口 |
-p 6881:6881 |
Aria2 tcp下载端口 |
-p 6881:6881/udp |
Aria2 p2p udp下载端口 |
--restart unless-stopped |
自动重启容器 |
题外话
官方给的命令行操作,我们可以学习一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| docker run -d \ --name=aria2 \ -e PUID=1026 \ -e PGID=100 \ -e TZ=Asia/Shanghai \ -e SECRET=yourtoken \ -e CACHE=512M \ -e PORT=6800 \ -e BTPORT=32516 \ -e WEBUI=true \ -e WEBUI_PORT=8080 \ -e UT=true \ -e RUT=true \ -e FA=falloc \ -e QUIET=true \ -e SMD=true \ -p 32516:32516 \ -p 32516:32516/udp \ -p 6800:6800 \ -p 8080:8080 \ -v $PWD/config:/config \ -v $PWD/downloads:/downloads \ --restart unless-stopped \ superng6/aria2:webui-latest
|
-e 指定环境,然后容器内部再去处理这个环境变量
-p 8080:80 表示将容器的80端口映射到宿主机的8080端口
如果修改第8行,将端口6800改为6801,那么第19行冒号后面就要修改为6801,冒号后面为docker虚拟机的端口。
官方的命令行是桥接的,但是他设置的有环境变量能够直接修改端口,所以我就直接设置成host模式了,然后把端口映射删除,想要修改端口就直接修改环境变量就行了。
如果想要使用官方的命令行,比如修改web端口为6801,那么只需要修改19行为 -p 6801:6800,上方的环境变量不用修改。不建议使用桥接。
UID与PUID要修改一下
参考:
https://hub.docker.com/r/superng6/aria2