Docker 快速入门指南Ultralytics
本指南全面介绍如何为Ultralytics 项目设置 Docker 环境。Docker是一个在容器中开发、运输和运行应用程序的平台。它尤其有利于确保软件无论部署在哪里,都能以相同的方式运行。有关详细信息,请访问Docker Hub 上的Ultralytics Docker 存储库。
您将学到什么
- 设置支持英伟达™(NVIDIA®)的 Docker
- 安装Ultralytics Docker 映像
- 在 Docker 容器中运行Ultralytics
- 将本地目录挂载到容器中
先决条件
- 确保系统中已安装 Docker。如果没有,可以从Docker 网站下载并安装。
- 确保系统安装了英伟达™(NVIDIA®)GPU 和英伟达™(NVIDIA®)驱动程序。
利用英伟达支持设置 Docker
首先,运行 "NVIDIA®(英伟达™)驱动程序 "验证是否已正确安装:
安装英伟达 Docker 运行时
现在,让我们安装英伟达™(NVIDIA®)Docker 运行时,在 Docker 容器中启用 GPU 支持:
# Add NVIDIA package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(lsb_release -cs)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# Install NVIDIA Docker runtime
sudo apt-get update
sudo apt-get install -y nvidia-docker2
# Restart Docker service to apply changes
sudo systemctl restart docker
使用 Docker 验证英伟达™(NVIDIA®)运行时
运行 docker info | grep -i runtime
以确保 nvidia
出现在运行时列表中:
安装Ultralytics Docker 映像
Ultralytics 提供多种针对不同平台和用例优化的 Docker 映像:
- Dockerfile:GPU 映像,是培训的理想选择。
- Dockerfile-arm64:适用于 ARM64 架构,适合Raspberry Pi 等设备。
- Dockerfile-cpu:仅 CPU 版本,用于推理和非 GPU 环境。
- Dockerfile-jetson:针对英伟达 Jetson 设备进行了优化。
- Dockerfile-python :用于轻量级应用程序的最小Python 环境。
- Dockerfile-conda:包含通过 Conda 安装的Miniconda3和Ultralytics 软件包。
提取最新图像:
# Set image name as a variable
t=ultralytics/ultralytics:latest
# Pull the latest Ultralytics image from Docker Hub
sudo docker pull $t
在 Docker 容器中运行Ultralytics
下面介绍如何执行Ultralytics Docker 容器:
# Run with all GPUs
sudo docker run -it --ipc=host --gpus all $t
# Run specifying which GPUs to use
sudo docker run -it --ipc=host --gpus '"device=2,3"' $t
"(《世界人权宣言》) -it
标记会分配一个伪 TTY 并保持 stdin 开启,以便与容器进行交互。标记 --ipc=host
标记可共享主机的 IPC 命名空间,这对进程间共享内存至关重要。该 --gpus
标记允许容器访问主机的 GPU。
关于文件无障碍访问的说明
要在容器内处理本地机器上的文件,可以使用 Docker 卷:
# Mount a local directory into the container
sudo docker run -it --ipc=host --gpus all -v /path/on/host:/path/in/container $t
更换 /path/on/host
使用本地计算机上的目录路径和 /path/in/container
与 Docker 容器内的所需路径一致。
恭喜您!您现在已经设置好使用Ultralytics 和 Docker,并准备好利用其强大的功能。有关其他安装方法,请浏览Ultralytics 快速入门文档。