ROS2+NAV2如何快捷的在docker中使用主机的CAN
  TEZNKK3IfmPf 2024年03月29日 51 0

驱动底盘一般通过CAN口和底盘通信,在docker中使用CAN最方便的方式就是容器(container)在创建(run)时,指定网络为host模式:--network=host。

例如:

docker run -it  --restart=always --name ros2humble3 --network=host -v /home/tom/Tom/DockerContent/nav2_ws(your docker path):/home/tom/Tom/DockerContent/nav2_ws(your local path) -v /tmp/.X11-unix:/tmp/.X11-unix:ro -e DISPLAY=$DISPLAY osrf/ros:humble-simulation /bin/bash

如果容器已经创建,忘记指定--network=host了,又不想删除老容器,想仍然用这个容器里面已经准备好的各种编译环境,可以创建一份这个容器的镜像,基于这个镜像,指定--network=host,创建新的容器。

操作步骤如下:

1.提交老容器为一个镜像:docker commit old_container_id new_image:v1。其中old_container_id为老的容器ID,new_image为镜像名,v1为标签。提交容器为镜像的通用指令为:

docker commit -m="[提交的描述信息]" -a="[作者]" [容器ID] [新的镜像名称]:[新的镜像标签]

2.基于镜像创建新容器:注意为了保证和旧容器其它配置全部一样,创建时指定的参数需要保留旧的配置和旧容器创建是一样(

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月26日   50   0   0 Docker
  TEZNKK3IfmPf   2024年03月29日   94   0   0 Docker
TEZNKK3IfmPf