Docker 应用集合

Docker 应用集合

随着网络附加存储(NAS)在个人和小型企业中的广泛应用,它不仅是数据存储的理想选择,也成为了部署各种 Docker 服务、完成个人自动化工作流程的强大平台。探索 awesome-selfhosted 可以发现多种自部署服务,这些服务适合在 NAS 上运行,覆盖从网页应用到服务器软件等广泛领域。

使用 文件进行 Docker 部署不仅简便高效,而且适用于各种 NAS 系统,包括但不限于群晖、Qnap、Unraid 等。此处以群晖 NAS 为例,介绍通过 Docker Compose 部署应用的过程,而在其他系统上的操作流程大同小异。

  1. 启用 SSH 功能
    • 登录到你的 NAS 设备,打开「控制面板」。
    • 选择「终端机和 SNMP」选项,然后启用 SSH 功能,以便可以通过 SSH 客户端远程访问你的 NAS。
  2. 准备 文件
    • 创建一个名为 的文件。
    • 部分用于容器和宿主机之间的端口,用于 Web 界面访问和服务配置。
    • 部分则映射了数据存储位置,确保数据的持久化。
    • 将所需的部署配置代码粘贴进这个文件。确保代码正确无误,并根据需要调整服务设置。
  3. 通过 SSH 连接到 NAS
    • 使用 SSH 客户端(如 PuTTY 或其他终端软件)连接到你的 NAS。
    • 根据提示输入用户名和密码进行登录。
  4. 导航至 文件所在目录
    • 执行命令 (或你存放 文件的具体路径)。
  5. 执行 Docker Compose 命令
    • 在 文件所在的目录下,执行命令 。
    • 此命令会在后台启动并运行你的 Docker 容器。稍等片刻,等待部署过程完成。
  6. 关闭 SSH 功能(推荐):
    • 为了系统安全,完成部署操作后,建议关闭 NAS 的 SSH 功能。
    • 返回到「控制面板」中的「终端机和 SNMP」选项,禁用 SSH 功能。

注意

  • 对于非 root 用户,执行 Docker 相关命令时需要在命令前添加 ,以避免遇到 的权限问题。
  • 通过执行 命令,可以直接获得 root 用户的权限,便于管理和执行后续操作。

通过遵循以上步骤,你可以轻松在 NAS 上部署和管理 Docker 容器,无论是群晖 NAS 还是其他品牌的 NAS 系统。这一过程不仅提升了部署的效率,也使得容器化应用的管理变得更加灵活方便。

如果你的 NAS 系统上已安装 ,可直接通过以下步骤使用 Portainer 部署 Docker 服务:

  1. 在 Portainer 界面中依次选择 Stacks > Add stack。
  2. 在 Web editor 中粘贴你的 配置,然后点击 Deploy the stack 完成部署。
Docker 应用集合

在配置 volumes 时,请特别注意本地存储路径的选择。例如,Emby 服务的电视剧路径配置可能为 。这里, 是 Docker 容器内部的固定路径,而 是你可根据实际情况自定义的 NAS 本地路径。

UID 和 GID 分别代表用户身份和组身份标识。在启动 n8n 工作流 教程 Docker 容器时,默认情况下,容器进程是以 root 用户(UID 0)运行。然而,从安全的角度出发,非 root 的运行模式会更加安全,因为这可以在容器受到攻击时,降低攻击者获取主机高权限的风险。在常规的设置中,UID 和 GID 通常被设置为 1000。但例如在群晖系统中,第一个用户的 UID 实际为 1026,而 GID 则为 100。

值得注意的是,当外部系统的用户标识与 NAS 上的 UID/GID 存在不匹配的情况时,可能会出现权限不一致的问题,进而影响到文件的正常访问权限。

文章中我默认提供的是群晖 UID/GID,非群晖系统都可以改为 1000。

对于如 Emby 这类依赖外部存储资源的 Docker 服务,文件夹的访问权限是不可或缺的。一个直接的解决方案是将文件夹的权限设置为“Everyone”。然而,这样的做法在安全性上存在隐患。一旦有人获得 Docker 的操作权限,相关文件夹很可能会被擅自更改,这只能作为一个短期的权宜之计。

下图以 Emby 服务中的电视节目存储路径 为实例,为了确保正常运行,我们可以临时为该文件夹授权“Everyone”权限,但建议后续寻求更安全的权限管理策略。

Docker 应用集合

  • 1-10:影视音乐类
  • 11-20:娱乐阅读类
  • 21-30:同步网盘
  • 31-40:文档管理
  • 41-70:空位
  • 71-80:未分类(默认)
  • 81-90: 自动化
  • 91-100:导航
  • 101+:后端
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/250549.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月13日 下午6:44
下一篇 2026年3月13日 下午6:45


相关推荐

关注全栈程序员社区公众号