安装aria2

使用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会出现这种情况,不要慌张。

image-20230329173524222 image-20230329174104890

按照上图操作后能够连接成功。

桥接可能对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


安装aria2
https://shyi.org/posts/30327/
作者
Shyi
发布于
2023年3月29日
更新于
2024年9月7日
许可协议