当前位置: 首页 > news >正文

ros2 安装

推荐linux版本:ubuntu 22.04

一、创建docker具有systemctl权限的容器:

1. 撰写Dockerfile

FROM ubuntu:22.04# 安装 systemd 和 dbus(systemctl 通讯需要它)
RUN apt-get update && apt-get install -y \systemd \systemd-sysv \dbus \&& apt-get clean \&& rm -rf /var/lib/apt/lists/*# 告知 systemd 运行在容器环境
ENV container docker# 启动时默认执行 systemd
CMD ["/lib/systemd/systemd"]

2. build镜像

在 Dockerfile 所在目录运行:

docker build -t my-ubuntu-with-systemd .
# 创建别名(改名)
docker tag old-name:v1 new-name:v2

3. 创建容器

docker run -itd   --name my-ubuntu4  --privileged --cgroupns=host  -v /sys/fs/cgroup:/sys/fs/cgroup:ro   ubuntu2204-with-systemd:v1 /lib/systemd/systemd

登录容器验证:

docker exec -it <容器id> /bin/bash
docker stauts

二、ros安装

容器创建:

docker run -it --name ros2  -d --restart unless-stopped -e TZ=Asia/Shanghai  -v /home/container/ros2/data:/data \
--privileged --cgroupns=host  -v /sys/fs/cgroup:/sys/fs/cgroup:rw \
-p 8022:22 \
--device /dev:/dev \
-v /home/container/ros2/data:/data \
-v  /tmp/.X11-unix:/tmp/.X11-unix \
-v /run/user/1000/pulse:/run/user/1000/pulse \
-v /etc/machine-id:/etc/machine-id \
-v  /var/lib/dbus:/var/lib/dbus \
-v  /home/pi/docker_ros2/tmp:/home/ubuntu/share/tmp \
-e PULSE_SERVER=unix:/run/user/1000/pulse/native \
-e LIBGL_ALWAYS_SOFTWARE=1 \
-e DISPLAY=:0 \
ubuntu2204-with-systemd:v1 /lib/systemd/systemd

--net=host 容器使用宿主机ip, 端口-p映射忽略

docker run -it --name test --net=host -d --restart unless-stopped -e TZ=Asia/Shanghai -v /home/container/ros2/data:/data
--privileged --cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw ubuntu2204-with-systemd:v1 /lib/systemd/systemd
-p 8026:22 ubuntu2204-with-systemd:v1 /lib/systemd/systemd

docker run -it --name test -p 8022:22 --net=host -d --restart unless-stopped -e TZ=Asia/Shanghai -v /home/container/ros2/data:/data
--privileged --cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw ubuntu2204-with-systemd:v1 /lib/systemd/systemd

ubuntu:22.04 /bin/bash

http://www.jsqmd.com/news/688026/

相关文章:

  • 筑牢公共急救防线,AED 除颤仪设备哪家好? - 品牌2026
  • 保姆级教程:用Python脚本调用迅投QMT极简版,实现自动化下单(附完整代码)
  • go-zero整合Nacos服务发现:从配置到实战避坑指南
  • 智能产品负责人员中的需求决策与价值最大化
  • 国内优质球墨铸铁管厂家推荐——山东华夏联丰,基建管材品质首选 - 中媒介
  • 双目立体成像(二)从原理到实战:OpenCV畸变矫正与立体校正全解析
  • 3个核心技巧:让Windows任务栏变成你的桌面艺术品
  • 深圳宇亿再生资源回收:盐田区FPC软板回收哪个靠谱 - LYL仔仔
  • 韭菜盒子:开发者专属的VSCode投资信息中心,如何实现编码与投资的完美融合?
  • ComfyUI-Impact-Pack:模块化AI图像增强与精细化处理解决方案
  • 3个明日方舟素材库使用指南:如何快速获取高质量游戏资源
  • Pentaho Kettle Java 17兼容性深度实战:从ETL工具升级到性能飞跃的完整指南
  • real-anime-z GPU算力优化部署:显存友好型真实动画模型实操
  • 你的Vissim仿真结果不准?可能是『交通组成』和『期望速度』这俩参数没设对(避坑指南)
  • 从钟形曲线到高维映射:高斯核函数(RBF)的数学之美与实战解析
  • 从‘看’到‘看清’:手把手解析SAR影像在灾害监测、农业估产中的实战应用与数据解读
  • 从开关电源到智能家居:深入解读安规距离如何影响你的产品认证(以UL、CE为例)
  • 佛山湘悦机械设备租赁:高明可靠的铺路钢板厂家 - LYL仔仔
  • 2026年好用的雅思机考软件推荐:支持自动打分的机考练习工具 - 品牌2026
  • 小白也能装的 OpenClaw 一键启动即用
  • ComfyUI-Impact-Pack终极指南:5大核心功能让AI图像处理更简单高效 [特殊字符]
  • 别再只盯着Webshell:CVE-2016-3088漏洞的三种高阶利用思路详解(写入Cron/SSH Key/Jetty配置)
  • Matlab 2018a + CPLEX 12.8 + YALMIP 保姆级安装配置指南(含路径设置与测试避坑)
  • REDS数据集预处理别再踩坑了:MMEditing中RealBasicVSR数据准备的正确姿势
  • 别再让单机处理百万数据了!XXL-Job分片广播实战,3个执行器集群配置避坑指南
  • 高光谱成像重建技术:流匹配引导的深度展开网络
  • 奋楫十五五,智领新征程——三维几何建模引擎GME第四年度总结会议成功举办
  • 如何通过开源工具套件实现专业级游戏内容编辑?Harepacker-resurrected深度解析
  • TPFanCtrl2:探索ThinkPad嵌入式控制器直连架构下的精准风扇控制技术
  • 保姆级教程:在CentOS 7/8上一步步安装ClickHouse并完成首次连接验证