疑难解答指南
支持 GPU 的 Docker 平台故障排除指南
本指南旨在帮助用户在 Linux 和 Windows 操作系统上对启用 GPU 的 Docker 平台设置进行故障排除。它提供了一种结构化的方法,以确保平台正确配置和运行。
Linux 的初始设置
- 正确的安装过程:
- 首次从网站运行安装程序。此步骤将安装必要的驱动程序。
- 首次安装后,重新启动 Linux 系统。
- 再次执行安装过程,这将安装 Docker。
在 Linux 和 Windows 上验证设置
- 确认命令:
- 要验证您的设置是否正常运行,请执行:
docker run --gpus all nvidia/cuda:11.0.3-base-ubuntu18.04 nvidia-smi
- 输出应类似于 nvidia-smi 的输出。
- 此命令检查 Docker 是否正确利用了您的 GPU。
对 Linux 上的失败设置进行故障排除
- 使用重置脚本(页面末尾):
- 如果确认命令失败,请使用 reset_drivers_and_docker 脚本:
-
chmod +x reset_drivers_and_docker.sh ./reset_drivers_and_docker.sh
- 运行脚本后,重新启动设备。
- 从网站重新运行安装程序。自动重新启动后,重新运行安装程序以完成安装。
- 如果在执行这些步骤后确认命令再次失败,请在社区支持渠道上寻求帮助。
停止平台
- Windows(使用 PowerShell):
- 要停止并删除所有容器,请执行:
docker ps -a -q | ForEach { docker rm $\_ }
- 要停止并删除所有容器,请执行:
- Linux(使用终端):
- 要停止和移除所有容器,请使用:
sudo docker stop $(sudo docker ps -a -q); sudo docker rm $(sudo docker ps -q)
- 要停止和移除所有容器,请使用:
重新启动后重新启动平台
- 重新启动计算机或服务器后,平台将需要重新启动。
- 重新运行初始设置期间网站上提供的相同命令。(看起来像 docker run -d ….)
注意(重要):
确保您没有运行两个 io-worker-vc
实例 如何检查这一点:
docker ps
如果有 2 个容器运行相同的映像 io-worker-vc ,则平台将出现故障 – 输出如下所示
~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87b1b066bdfa ionetcontainers/io-worker-monitor "tail -f /dev/null" 3 seconds ago Up 2 seconds agitated_hawking
7033c1b8feba ionetcontainers/io-worker-vc "sudo -E /srp/invoke…" 8 seconds ago Up 8 seconds friendly_ritchie
67f699e12c2e ionetcontainers/io-worker-vc "sudo -E /srp/invoke…" 10 seconds ago Up 8 seconds sleepy_feynman
如何解决这个问题?
运行 stop all docker containers (查看故障排除指南) 并运行 (docker run -d …) 命令 (docker run -d …) 仅一次即可正常运行平台
在 Windows 上面临不稳定的正常运行时间?
要确保路由器上的 DHCP 租用时间设置为超过 24 小时的持续时间,请访问 Windows 操作系统中的组策略编辑器。按以下顺序启用指定的设置:
- 导航到组策略编辑器中的“计算机配置”。
- 在“计算机配置”中,找到“管理模板”部分。
- 在“管理模板”部分中,导航到“系统”。
- 在“系统”菜单中,选择“电源管理”。
- 最后,访问“电源管理”中的“睡眠设置”小节。
- 在“睡眠设置”子菜单中,激活“在连接待机期间允许网络连接(使用电池)”和“在连接待机期间允许网络连接(插入)”选项。
请确保相应地调整这些配置以获得所需的结果。
额外指南
哪些端口需要在防火墙上公开才能使平台正常运行:(Linux 和 Windows)
- 技术合作计划 443 25061 5432 80
- 编号:UDP 80 443 41641 3478
如何验证程序是否已成功启动?
- 在 PowerShell (Windows) 或终端 (Linux) 上运行以下命令时,应始终运行 2 个 Docker 容器:
docker ps
- 如果在 docker run -d 之后没有容器或只有 1 个容器在运行……从网站命令:
- 停止平台(查看上面的命令指南)并再次使用来自网站的命令重新启动平台
- 如果这仍然不起作用 – 联系我们的 discord 社区寻求帮助:https://discord.com/invite/kqFzFK7fg2
reset_drivers_and_docker.sh :
创建一个名为“reset_drivers_and_docker.sh”的新文件,并复制粘贴下面的代码片段
#!/bin/bash # Stop all running Docker containers echo “Stopping all running Docker containers…” docker stop $(docker ps -a -q) # Remove all Docker containers echo “Removing all Docker containers…” docker rm $(docker ps -a -q) # Remove all Docker images echo “Removing all Docker images…” docker rmi $(docker images -q) # Uninstall Docker Engine, CLI, and Containerd echo “Uninstalling Docker…” sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli containerd containerd.io # Remove Docker’s storage volumes echo “Removing Docker storage volumes…” sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd # Remove Docker group sudo groupdel docker # Remove Docker’s configuration files echo “Removing Docker configuration files…” sudo rm -rf /etc/docker # Remove any leftover Docker files sudo find / -name ‘*docker*’ -exec rm -rf {} \; # Uninstall NVIDIA Docker echo “Uninstalling NVIDIA Docker…” sudo apt-get purge -y nvidia-docker # Uninstall NVIDIA drivers echo “Uninstalling NVIDIA drivers…” sudo apt-get purge -y ‘*nvidia*’ # Remove any remaining NVIDIA directories sudo rm -rf /usr/local/nvidia/ # Update the package lists echo “Updating package lists…” sudo apt-get update # Autoremove any orphaned packages echo “Removing unused packages and cleaning up…” sudo apt-get autoremove -y sudo apt-get autoclean # Rebuild the kernel module dependencies echo “Rebuilding kernel module dependencies…” sudo depmod # Inform the user that a reboot is required echo “Uninstallation complete. Please reboot your system.”