用 Docker 运行 qbittorrent:新手入门 – wiki基地


用 Docker 运行 qBittorrent:新手入门

简介

qBittorrent 是一个免费、开源且功能强大的 BitTorrent 客户端,广受用户喜爱。它提供了一个干净的用户界面、Web UI、RSS 订阅、DHT、PEX、加密等功能。而 Docker 是一种容器化技术,它允许您将应用程序及其所有依赖项打包到一个独立的、可移植的容器中。

将 qBittorrent 部署在 Docker 容器中具有以下显著优势:

  1. 环境隔离:qBittorrent 及其依赖项在独立的环境中运行,不会污染您的主机系统。
  2. 易于部署和管理:使用 Docker 镜像可以快速启动和停止 qBittorrent,配置也更加便捷。
  3. 可移植性:您的 qBittorrent 配置和数据可以轻松地在不同服务器之间迁移。
  4. 资源管理:Docker 提供了对 CPU、内存等资源的限制,有助于更好地管理服务器资源。
  5. 更新简便:更新 qBittorrent 版本通常只需要拉取新的 Docker 镜像并重建容器。

本指南将带领您一步步在 Docker 中运行 qBittorrent。

先决条件

在开始之前,请确保您已具备以下条件:

  1. 安装 Docker:您的操作系统上已安装 Docker Engine 和 Docker Compose。您可以访问 Docker 官方网站 获取安装教程。
  2. 基本的命令行知识:熟悉如何在终端或命令行中执行命令。
  3. 规划存储路径:决定 qBittorrent 的配置和下载文件将存储在您主机的哪个目录下。

第一步:准备 Docker 运行目录和用户/组 ID

为了让 qBittorrent 容器能够正确读写您的主机文件系统,我们需要为其指定合适的用户和组 ID (PUID/PGID)。这可以避免权限问题。

  1. 创建存储目录
    首先,在您的主机上创建用于存储 qBittorrent 配置和下载文件的目录。例如:
    bash
    mkdir -p /path/to/your/qbittorrent/config
    mkdir -p /path/to/your/qbittorrent/downloads

    请将 /path/to/your/qbittorrent 替换为您实际希望存储这些文件的路径。

  2. 获取 PUID 和 PGID
    在 Linux/macOS 系统上,您可以使用以下命令获取当前用户的用户 ID (UID) 和组 ID (GID):
    bash
    id -u # 获取 PUID
    id -g # 获取 PGID

    记下这两个数字,我们稍后会在 Docker 命令中使用它们。通常,如果您是唯一的用户,它们可能是 1000
    在 Windows 上,当使用 WSL2 或 Docker Desktop 时,通常无需手动设置 PUID/PGID,Docker 会在内部处理权限。但如果遇到权限问题,您可能需要考虑更复杂的解决方案或直接在 Linux 主机上运行 Docker。

第二步:拉取 qBittorrent Docker 镜像

我们将使用 linuxserver/qbittorrent 镜像,这是一个由 LinuxServer.io 团队维护的流行且可靠的镜像,专为易用性而设计。

打开您的终端或命令行,执行以下命令拉取镜像:
bash
docker pull linuxserver/qbittorrent

这可能需要一些时间,具体取决于您的网络速度。

第三步:运行 qBittorrent 容器

现在,我们将使用 docker run 命令来启动 qBittorrent 容器。请根据您之前获取的 PUID、PGID 和规划的存储路径替换占位符。

bash
docker run -d \
--name=qbittorrent \
-e PUID=<您的 PUID> \
-e PGID=<您的 PGID> \
-e TZ=Asia/Shanghai \
-e WEBUIPASSWORD=<您的 Web UI 密码> \
-e WEBUI_PORT=8080 \
-p 8080:8080 \
-p 6881:6881 \
-p 6881:6881/udp \
-v /path/to/your/qbittorrent/config:/config \
-v /path/to/your/qbittorrent/downloads:/downloads \
--restart unless-stopped \
linuxserver/qbittorrent

让我们分解一下这个命令中的参数:

  • -d:在后台(detached mode)运行容器。
  • --name=qbittorrent:为您的容器指定一个易于识别的名称(您可以更改它)。
  • -e PUID=<您的 PUID>:设置容器内运行 qBittorrent 进程的用户 ID。
  • -e PGID=<您的 PGID>:设置容器内运行 qBittorrent 进程的组 ID。
  • -e TZ=Asia/Shanghai:设置容器的时区。请根据您的实际时区进行更改(例如 America/New_York)。
  • -e WEBUIPASSWORD=<您的 Web UI 密码>非常重要!设置 qBittorrent Web UI 的登录密码。请将其替换为一个强密码。默认用户名是 admin
  • -e WEBUI_PORT=8080:设置 qBittorrent Web UI 在容器内部监听的端口。
  • -p 8080:8080:将主机的 8080 端口映射到容器的 8080 端口。这是您访问 Web UI 的端口。如果您主机上的 8080 端口已被占用,可以将左侧的 8080 更改为其他未使用的端口(例如 -p 8081:8080)。
  • -p 6881:6881:将主机的 6881 端口映射到容器的 6881 端口(TCP),用于 BitTorrent 流量。
  • -p 6881:6881/udp:将主机的 6881 端口映射到容器的 6881 端口(UDP),也用于 BitTorrent 流量。您可以根据 qBittorrent 的设置更改这些端口。
  • -v /path/to/your/qbittorrent/config:/config:将主机上的配置目录映射到容器内的 /config 目录。这是 qBittorrent 存储其设置文件的地方。
  • -v /path/to/your/qbittorrent/downloads:/downloads:将主机上的下载目录映射到容器内的 /downloads 目录。所有下载的文件将存储在这里。
  • --restart unless-stopped:设置容器的重启策略。这意味着除非您手动停止容器,否则在 Docker 服务重启或容器意外退出时,它会自动重启。
  • linuxserver/qbittorrent:指定要运行的 Docker 镜像。

执行命令后,如果一切顺利,您将看到一串容器 ID。

第四步:访问 qBittorrent Web UI

容器启动后,您可以通过浏览器访问 qBittorrent 的 Web UI。

  1. 打开浏览器
    在您的浏览器中输入:http://<您的主机IP地址>:8080
    如果您在本地机器上运行 Docker,可以使用 http://localhost:8080

  2. 登录
    首次登录时,默认用户名为 admin,密码是您在 docker run 命令中设置的 WEBUIPASSWORD

第五步:初步配置(可选但推荐)

登录 Web UI 后,您可能需要进行一些初步配置:

  1. 更改默认密码:虽然您在启动时设置了密码,但仍建议在 Web UI 内部再次确认或更改,以确保安全。
    (工具 -> 选项 -> Web UI -> 验证)

  2. 设置下载路径
    确保下载路径设置正确。在 “工具 -> 选项 -> 下载” 中,将“默认保存路径”设置为 /downloads (这是容器内的路径,它会映射到您主机上的 /path/to/your/qbittorrent/downloads)。

  3. 端口转发
    如果您的路由器支持 UPnP/NAT-PMP,qBittorrent 可能会自动处理端口转发。如果遇到下载速度慢或连接数少的问题,您可能需要在路由器上手动配置端口转发,将外部流量的 6881 端口转发到运行 Docker 的主机的 6881 端口。

管理您的 qBittorrent 容器

  • 查看容器状态
    bash
    docker ps

    这会列出所有正在运行的容器。

  • 停止容器
    bash
    docker stop qbittorrent

  • 启动容器
    bash
    docker start qbittorrent

  • 删除容器
    bash
    docker rm qbittorrent

    注意:删除容器不会删除您的数据卷(/config/downloads 目录),因此您的配置和下载文件将保留。

  • 查看日志
    bash
    docker logs qbittorrent

    当遇到问题时,查看容器日志是诊断问题的首选方法。

更新 qBittorrent 容器

更新容器通常涉及以下步骤:

  1. 停止并删除现有容器
    bash
    docker stop qbittorrent
    docker rm qbittorrent

  2. 拉取最新镜像
    bash
    docker pull linuxserver/qbittorrent

  3. 使用相同的 docker run 命令重新创建容器
    由于您的数据卷是持久化的,所以使用相同的 -v 映射重新创建容器将保留您的所有配置和下载进度。

总结

通过本指南,您应该已经成功地在 Docker 中部署并运行了 qBittorrent。这种容器化的方式不仅简化了部署和管理,还提供了更好的隔离性和可移植性。享受您的 qBittorrent 体验吧!


滚动至顶部