docker的基本使用以及使用Docker 运行D435i

1.一些基本的指令

1.1 容器

  • 要查看正在运行的容器:
bash 复制代码
sudo docker ps 
  • 查看所有的容器(包括停止状态的容器)
bash 复制代码
sudo docker ps -a 
  • 重新命名容器
bash 复制代码
sudo docker rename <old_name>  <new_name> 

<old_name> 替换为你的容器名称

  • 停止容器:
    如果容器正在运行,首先需要停止它。使用以下命令:
bash 复制代码
sudo docker stop my_fastplanner_container

1.2 镜像

要查看所有本地镜像:

bash 复制代码
sudo docker image 

或者

bash 复制代码
sudo docker image ls  

也可以通过 通过Portainer查看

1.3 如果要使用本机的USB等接口 启动容器

要使Docker容器能够访问宿主机的USB接口,您需要在启动容器时映射相关的USB设备文件。下面是一个示例命令,它将宿主机的所有USB设备接口都映射到容器中:

bash 复制代码
sudo docker run -it --privileged --name=my_container \
  -v /dev/bus/usb:/dev/bus/usb \
  my_image

参数解释 :

-it:表示容器将以交互式方式运行,并且分配一个伪终端。

--privileged:给予容器完全的主机设备访问权限。这是一种简便的方法,但从安全角度来说并不推荐,因为它会给容器提供很宽泛的权限。

--name=my_container:为新创建的容器指定一个名称,这里是 my_container。

-v /dev/bus/usb:/dev/bus/usb:将宿主机的 /dev/bus/usb 目录挂载到容器的相同路径。这允许容器访问USB设备。

my_image:您要启动的Docker镜像名称。

这种方法将所有USB设备映射到容器中,但如果您知道特定设备的文件路径,更推荐映射特定的设备。例如,如果您知道您的USB设备在 /dev 下的特定文件(比如 /dev/ttyUSB0),您可以只映射这个设备:

bash 复制代码
sudo docker run -it --name=my_container \
  --device=/dev/ttyUSB0 \
  my_image

使用 --device 参数将提供更精细的控制,仅将必要的设备文件映射到容器中,而不是授予容器过多权限。

2.使用容器启动D435i

为了让Docker容器访问宿主机的USB接口来启动Intel RealSense D435i摄像头,您需要将摄像头的USB设备文件映射到容器内部。通常,这些设备文件位于 /dev 目录下,例如 /dev/video0(摄像头视频流)以及可能的 /dev/bus/usb/... 文件

首先,通过在宿主机上运行 ls /dev 或 lsusb 命令来识别D435i摄像头的具体设备文件。

接下来,使用以下命令将摄像头的USB设备映射到容器中:

    1. 查看本机的image

      这里我的fastplanner_250_image 已经安装好了realsence的驱动

    1. 启动容器
bash 复制代码
sudo docker run -it --privileged \
  --device=/dev/video0 \
  --device=/dev/video1 \
  --device=/dev/video2 \
  --device=/dev/bus/usb \
  --volume=/tmp/.X11-unix:/tmp/.X11-unix \
  --env="DISPLAY=$DISPLAY" \
  --name=my_realsense_container \
  fastplanner_250_image

接下来

bash 复制代码
cd home/Fast-Drone-250/
source devel/setup.bash 
roslaunch realsense2_camera rs_d435_camera_with_model.launch 
相关推荐
vipxieliang3 小时前
Docker vs Podman vs containerd:容器运行时全景
docker·容器
vipxieliang3 小时前
数据持久化方案:卷、挂载、权限与备份恢复
docker·容器
vipxieliang3 小时前
Compose 生产级配置:从 demo 到可上线
docker
vipxieliang3 小时前
容器原理揭秘:namespace、cgroup 与镜像分层
docker·容器
wzq11_6664 小时前
Kubernetes集群——基础篇(基础知识与搭建步骤一遍过!!!)
java·容器·kubernetes
java_logo6 小时前
Docker 部署 dockurr/windows:轻松搭建浏览器可控 Windows 虚拟机
运维·windows·docker·容器·虚拟机·kvm·轩辕镜像
谢亮_vipxieliang7 小时前
私有镜像仓库:Registry、Harbor 与镜像同步实战
网络·docker·容器
努力努力再努力wz8 小时前
【边缘计算入门系列】从“在哪里算”到“怎么算”:一文建立边缘计算、算子、计算图与 Tensor 的底层心智模型
人工智能·docker·边缘计算
江湖有缘9 小时前
3款开源IT工具箱整理合集,可Docker一键部署!
docker·容器·开源
旋生万物9 小时前
用螺旋数重写 Transformer Attention:让大模型自带“相位记忆“的 PyTorch 实现
docker·云原生·kubernetes·螺旋生成论·螺旋相位