给容器使用界面的权限
xhost +local:xhost是 Linux 下用来管理谁可以连接图形界面的工具。+local:表示“允许所有来自本地的连接”。用完建议恢复:跑完视觉程序后,可以运行
xhost -local:把权限恢复原状。
建立容器
#!/bin/bash sudo docker run -it \ --name nano_yolo \ --runtime nvidia \ --network host \ --privileged \ --device=/dev/video0 \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix:/tmp/.X11-unix \ -v /usr/bin/tegrastats:/usr/bin/tegrastats \ -v $PWD:/workspace \ nvcr.io/nvidia/l4t-pytorch:r32.7.1-pth1.10-py3 \ /bin/bash-v挂载整个项目根目录到容器内的/workspace-e PYTHONPATH=/workspace让 Python 能找到core,utils等模块其他参数保证 GPU、摄像头、界面显示正常
参数 作用 -e DISPLAY告诉容器用哪个显示 -v /tmp/.X11-unix共享 X11 socket xhost +local放开权限
1个镜像可以创建多个不同名字的容器,容器是运行起来的实例,镜像是模板(类比:类的函数和实例)