管理和自定义容器
:::caution[Disclaimer]
本页旨在帮助各个技能水平的用户充分利用在 Unraid OS 上的 Docker 容器。这些提示和最佳实践来自 Unraid 团队,确保符合大多数用户的需求。然而,请记住,Docker 在不断发展,因此对于最新功能、高级配置或超出 Unraid 覆盖范围的问题排查,通常建议查阅官方 Docker 文档。
:::
在 Unraid 中自定义 Docker 容器之前,了解基本的配置选项是很有帮助的。每个容器模板提供了一个用户友好的界面,用于设置网络、存储和环境变量,让您无需使用复杂的命令行工具即可定制容器的行为,以满足您的需求。
- 网络类型
- 卷映射
- 端口映射
- 环境变量
Unraid 支持多种 Docker 网络模式。您选择的网络类型决定了容器与其他设备和容器的通信方式:
-
桥接 (默认): 容器位于一个内部的 Docker 网络中。只有您明确映射的端口才能从 Unraid 服务器或局域网访问。这是大多数应用程序最安全且最常用的选项。
-
主机: 容器共享 Unraid 服务器的网络堆栈。它可以使用任何可用的端口,但必须确保端口不会与其他服务冲突。只有在应用程序需要直接网络访问时才使用此模式。
-
无: 容器没有网络访问权限。可用于不需要任何网络连接的隔离工作负载。
-
自定义(macvlan/ipvlan): 容器在局域网上分配自己的 IP 地址,使其显示为一个独立的设备。这适用于高级场景,但可能需要在网络环境中进行额外配置。
容器模板中指定的默认网络类型推荐给大多数用户。
Docker 有一个限制,阻止它参与共享同一子网的两个网络。如果您在有线和无线连接之间切换,则需要重新启动 Docker 并重新配置所有现有容器以使用新接口。此网络配置更改需要容器重新配置。
卷映射控制您的容器如何访问 Unraid 服务器上的文件。每个映射将容器内的一个文件夹(容器路径)链接到 Unraid 服务器上的一个文件夹(主机路径)。
- 容器路径: 容器内部的目录(例如,
/config或/unraid_media)。 - 主机路径: 您 Unraid 服务器上的目录(例如,
/mnt/user/appdata/myapp)。 - 访问模式: 控制权限 - 只读或读/写。使用仍能使容器正常工作的最严格模式。
在容器外部存储应用程序数据(设置、库等),通常存储在 appdata user share 中。这种共享管理方法可在更新或重新安装期间保护您的数据。
- 路径区分大小写 。
- 容器路径应以
/开头。 - 如果使用未分配的设备作为主机路径,请将访问模式设置为"Slave"选项以确保正确检测。
- 如果主机路径在容器启动时不存在,则会自动创建。
- 服务器上出现的意外文件夹可能表明映射配置错误。
端口映射决定了网络流量如何从 Unraid 服务器路由到容器。
-
桥接网络: 您可以将内部容器端口映射到不同的主机端口。例如,如果三个容器内部使用端口8000,您可以将它们分别映射到主机上的8000、8001和8002。
-
主机网络: 容器可以使用任何可用端口。避免在多个容器中使用相同的端口以防止冲突。
仅修改主机端口值。除非您知道应用程序支持更改,否则不要改变容器端口。
大多数模板提供合理的默认值,但您可以添加或调整端口映射。