跳到主要内容

Docker 故障排除

信息

此页面专门提供关于 Unraid 的 Docker 容器的故障排除指南,Unraid 团队对此进行管理。对于高级故障排除、更深入的技术细节或超出 Unraid 特定实现的话题,请参考官方 Docker 文档

Docker 让您可以轻松在 Unraid 服务器上运行各种应用程序,但有时会出现问题,例如容器无法启动、Docker 镜像文件损坏或网络故障。本页面解决了一些与 Unraid 上 Docker 相关的常见问题,并提供了有效解决它们的最佳实践。


重新创建 Docker 映像文件

A corrupted Docker image file (docker.img) is a common issue, often caused by the cache pool running out of space or an unclean shutdown. Luckily, a well-configured container stores all variable data outside the image file (usually in the appdata share), so you can safely recreate the image without losing your application settings or data.

要重新创建 Docker 映像文件:

  1. 转到 WebGUI 中的 Settings → Docker
  2. Enable Docker(启用 Docker) 设置为 No(否),然后单击 Apply(应用) 停止 Docker 服务。
  3. 选择删除 Docker vdisk 文件选项,然后点击应用。如果需要,您还可以手动删除该文件。
  4. 确认新 Docker vdisk 文件的位置和文件名。此设置包含文件夹路径和文件名。
  5. 设置新镜像文件的所需大小。默认大小对于大多数用户来说通常是足够的。
  6. 启用 Docker设置为,然后点击应用。Unraid 将使用 BTRFS 创建并格式化新的 docker.img 文件。

现在您可以使用其保存的设置重新安装容器。


重新安装 Docker 应用程序

Unraid 会自动将每个已安装的容器模板保存在您的闪存驱动器上。这些模板存储您的配置,方便在重建 Docker 镜像文件后恢复容器。

要重新安装您的容器:

  1. 转到%%WebGUI|WebGUI%%的应用选项卡。
  2. 打开 Previous Apps(以前的应用) 部分。
  3. 选择要重新安装的容器。
  4. 继续进行安装。Unraid 将重新下载每个容器并自动应用您先前的设置。
important

如果所有可变数据映射在 Docker 映像文件之外(例如,在 appdata 共享中),这个过程会将您的容器恢复到先前状态。

提示

如果容器在重新安装后无法启动,请从 Docker 选项卡的上下文菜单中检查其日志,以查找错误消息和故障排除提示。

备注

在恢复容器后,验证所有映射的主机路径是否存在并具有正确的权限。错误的映射或权限是启动问题的常见原因。


恢复 Docker 自定义网络

如果删除 Docker 镜像文件,定制的 Docker 网络将无法持久化。在删除镜像之前,进入终端并运行以下命令来记录您的自定义网络名称:

docker network ls

记下您创建的任何网络的名称(不包括默认的 bridgehostnone 网络)。

要恢复自定义网络:

  1. 在重新创建 Docker 映像文件后,使用以下命令重建每个自定义网络:

    docker network create <network-name>

    <network-name> 替换为您先前记录的准确名称。

  2. 根据需要更新您的容器以使用恢复的网络。

备注

如果您的设置需要,您可以在 Settings → Docker 中通过将 主机访问自定义网络 设置为 启用 来启用对自定义网络的主机访问。

提示

如果在恢复后容器无法按预期通信,请检查您的 Docker 网络设置是否存在冲突或连接问题。