分享一下我的 docker aria2 镜像

2017-03-12 19:35:22 +08:00
 opengg

虽然 aria2 镜像已经满天飞, 但我没找到符合个人品味的. 于是我花了一点时间写了一个, 在此与诸位分享.

特色

1. 极简

精简的层级, 极致的镜像体积.

基本上整个镜像就是 alpine + aria2, 没有其他依赖, 镜像体积只有 5.7MB.

2. 强大

使用

  1. 使用 id 命令确定 uid/gid

      $ id opengg
        uid=1001(opengg) gid=1002(users) groups=1002(users)
    
  2. 初始化配置和下载目录

    mkdir /storage/aria2/config  # config 路径示例
    chown -R 1001:1002 /storage/aria2/config
    find /storage/aria2/config -type d -exec chmod 755 {} +
    find /storage/aria2/config -type f -exec chmod 644 {} +
    mkdir /storage/aria2/downloads  # downloads 路径示例
    chown -R 1001:1002 /storage/aria2/downloads
    find /storage/aria2/downloads -type d -exec chmod 755 {} +
    find /storage/aria2/downloads -type f -exec chmod 644 {} +
    
  3. 运行以下命令初始化容器

    docker run \
      -d \
      --name aria2 \
      -u=1001:1002 \
      -v /storage/aria2/config:/config \
      -v /storage/aria2/downloads:/downloads \
      -p 6800:6800 \
      opengg/aria2
    

镜像源码

在此附上源码, 欢迎指正

https://hub.docker.com/r/opengg/aria2/

https://github.com/OpenGG/docker-aria2

11091 次点击
所在节点    Linux
31 条回复
opengg
2017-03-14 20:21:12 +08:00
@kojirou
1. docker 部署方便, 尤其是在 nas 上, 有些系统安装依赖和包很麻烦, 比如群晖, 用 docker 就更快捷.
2. 管理进程费劲, 用 docker 有 auto start/restart
fetich
2017-11-23 10:50:00 +08:00
楼主,我是在群晖上使用 Docker。
请问第一步和第二步在哪里输入命令呢?第三步初始化容器,在群晖里只需要点击按钮即可,没找到可以输入命令的地方啊?
fetich
2017-11-24 09:26:11 +08:00
群晖的操作流程太傻瓜了,设置完毕,特意回来留言。
fetich
2017-11-24 15:14:20 +08:00
楼主,为什么下载的进度无法保存呢?在群晖 DSM 中重启容器后,已完成的任务和做种任务都消失了,是 aria2.session 的权限问题么?该怎么解决呢?
Maskeney
2019-04-28 12:40:13 +08:00
现在为什么改成-u 指定用户 UID GID 了…这个参数搞得我一脸蒙蔽。为什么不用-e UID=1000 -e GID=1000 …之前用 portainer,表示并不知道这个-u 应该填哪一项。昨晚上试着-v 多挂了几个数据卷。结果运行之后自动关闭,也没来得及看日志,不知道啥原因
opengg
2019-05-06 15:10:12 +08:00
@Maskeney
-u 是 docker 的参数,docker 容器会以这个 uid/gid 执行。
-e uid=xxx 是 dockerfile 的参数,docker 容器先以 root 运行,然后在容器内部脚本被执行时降权到 uid

uid/gid 通过 id 命令来确定。
opengg
2019-05-06 15:14:13 +08:00
@fetich
已完成的任务和做种任务消失,可能是权限问题吧,你得确保 docker 容器运行用户对 config 目录有合适的读写权。
fetich
2019-05-06 17:23:39 +08:00
@opengg
天哪,楼主出宫!

这个问题已解决,反反复复尝试了好多次,记得和 session 记录、磁链保存的配置项有关。
Maskeney
2019-05-06 18:10:03 +08:00
@opengg #26 好吧 作为刚上手的初级用户 喜欢用 portainer 这种图形化来运行 docker,portainer 似乎是只有 env 选项,没有-u 选项可供输入,市面上很多预编译好的镜像似乎更倾向于用-e 来传递 UID GID,虽然看起来用-u 直接指定更好
Maskeney
2019-05-25 00:39:48 +08:00
楼主请问后续有给这个镜像添加设置 umask 的功能么?我是给每个容器都创建了各自的 daemon 用户,虽然 /etc/profile 里设置了全局 umask=0002,但是 aria2 运行起来还是按照默认的 0022umask,因此会导致下载的文件权限不符合预期
fetich
2020-02-24 00:38:45 +08:00
大兄弟,不知道你是否还在上 V 站。

有个奇怪的事,1.35.0 已经出来数个月了,为何拉取最新镜像仍然是 1.34.0 的版本?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/346898

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX