Jetson Nano环境下Docker创建容器时符号链接创建失败求助
解决方案
检查L4T与Docker版本兼容性:Jetson Nano的官方镜像依赖L4T(Linux for Tegra)环境,Docker版本和L4T不匹配可能触发这类软链接异常。执行
cat /etc/nv_tegra_release查看L4T版本,确认使用的Docker是NVIDIA官方适配JetPack对应版本的包,20.10.21在部分L4T版本下可能存在兼容性问题。手动跳过脚本软链接步骤,改用挂载映射:直接修改
docker_setup_partition.sh脚本,绕开创建软链接的逻辑,改用Docker挂载参数映射主机文件到容器:- 找到脚本里创建软链接的代码段(类似
ln -s /host/.../nvidia_icd.json /usr/.../nvidia_icd.json),直接注释或删除这部分。 - 在脚本的
docker run/docker create命令中添加挂载参数:-v /usr/lib/aarch64-linux-gnu/tegra/nvidia_icd.json:/usr/lib/aarch64-linux-gnu/tegra/nvidia_icd.json:ro,以只读方式把主机的配置文件映射到容器内对应路径。
- 找到脚本里创建软链接的代码段(类似
检查Tegra路径的挂载属性:Jetson的Tegra相关目录可能带有特殊挂载属性(比如overlay、只读),导致无法创建软链接。执行
mount | grep /usr/lib/aarch64-linux-gnu/tegra查看挂载类型,如果是只读或overlay挂载,先临时重新挂载为可写:sudo mount -o remount,rw /usr/lib/aarch64-linux-gnu/tegra完成软链接操作后再改回只读:
sudo mount -o remount,ro /usr/lib/aarch64-linux-gnu/tegra配置NVIDIA Container Runtime:Jetson上运行GPU容器必须用NVIDIA官方的容器 runtime,默认runtime可能导致驱动配置异常:
- 编辑
/etc/docker/daemon.json,添加或修改内容:{ "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" } - 重启Docker服务:
sudo systemctl restart docker - 重新执行脚本,此时容器会自动继承主机的NVIDIA驱动配置,无需手动创建软链接。
- 编辑
内容的提问来源于stack exchange,提问作者Bowser's Unterhose
相关产品推荐
相关产品推荐

