Jetson Orin 系列(AGX Orin / Orin Nano / Orin NX)基于 ARM64 架构,需要特殊配置才能使用 GPU 加速的 Docker 容器。

一、前置准备
# 1. 检查系统版本(支持 Ubuntu 20.04 或 22.04)
lsb_release -a
# 2. 卸载旧版本 Docker(如有)
sudo apt-get remove -y docker.io docker-doc docker-compose podman-docker containerd runc
# 3. 更新系统
sudo apt-get update
sudo apt-get upgrade -y
二、安装 Docker

-
安装必要依赖
sudo apt-get install -y
apt-transport-https
ca-certificates
curl
gnupg
lsb-release -
添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
添加 ARM64 架构的 Docker 仓库
echo
"deb [arch=(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ (lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -
安装 Docker Engine
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
-
启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker -
添加当前用户到 docker 组(免 sudo 运行)
sudo usermod -aG docker $USER
执行后需重新重启生效~
三、安装 NVIDIA Container Toolkit
这是启用 GPU 加速的核心组件:
# 1. 设置 NVIDIA 仓库
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit-base
# 2. 配置 NVIDIA 运行时
sudo nvidia-ctk runtime configure --runtime=docker
# 3. 重启 Docker 服务
sudo systemctl restart docker

四、验证安装
1、检查 Docker 服务状态
sudo systemctl status docker
成功标志 :显示 active (running)
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset>
**Active: active (running)**since Mon 2025-11-16 11:17:45 CST; 5h 15min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 1662 (dockerd)
Tasks: 14
Memory: 133.8M
CPU: 3.508s
CGroup: /system.slice/docker.service
└─1662 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/cont>
2、查看 Docker 版本
docker --version
成功标志:返回版本号
Jetson Orin 的 Docker 生态与普通 x86 服务器不同,优先使用 NVIDIA NGC 仓库中预构建的 JetPack 镜像以获得最佳性能和兼容性。
3、Docker 常用命令:
| 功能分类 | 命令 | 说明 |
|---|---|---|
| 镜像操作 | docker pull <镜像名> |
拉取镜像(Jetson 需 ARM64 版本) |
docker images |
查看本地镜像列表 | |
docker rmi <镜像ID> |
删除指定镜像 | |
| 容器生命周期 | docker run -it --rm --gpus all <镜像> |
创建并运行容器(Jetson 必须加 --gpus all) |
docker ps -a |
查看所有容器(运行中+已停止) | |
docker stop <容器名> |
停止容器 | |
docker rm <容器名> |
删除已停止容器 | |
| 容器交互 | docker exec -it <容器名> bash |
进入容器终端 |
docker logs <容器名> |
查看容器日志 | |
docker cp <路径> <容器名>:<路径> |
文件拷贝(宿主机↔容器) | |
| 数据卷 | docker run -v /宿主机:/容器 <镜像> |
目录挂载 |
docker volume ls |
查看数据卷 | |
| Jetson GPU 验证 | docker run --rm --gpus all nvidia/cuda:12.2.0-runtime-ubuntu22.04 nvidia-smi |
验证 GPU 是否可用 |
| 系统清理 | docker system prune -a --volumes |
清理所有未使用的资源 |
在 Jetson Orin 上使用 Docker 时,核心区别是 必须添加 --gpus all 参数 才能访问 GPU 加速,且需使用 ARM64 架构的镜像
5、设置镜像源
修改配置文件
sudo vim /etc/docker/daemon.json
内容为:
{
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
},
"registry-mirrors": [
"https://docker.xuanyuan.me",
"https://docker.1ms.run",
"https://doublezonline.cloud",
"https://mirror.gcr.io",
"https://docker-registry-mirror.42cloud.com",
"https://hub.uuuabc.top"
]
}
重新启动 Docker
sudo systemctl daemon-reload
sudo systemctl start docker

分享完成~