docker安装ros2并在windows中显示docker内ubuntu系统窗口并且vscode编程
- IT业界
- 2025-08-23 09:12:02

这里包括docker desktop安装ros2 humble hawkshill , 安装xserver(用来在windows中显示ubuntu中窗口), vscode安装插件连接docker并配置python的一系列方法
1.安装xserver 为了能方便的在windows中显示ubuntu内的窗口,比如rqt窗口 参考文章: blogs /larva-zhh/p/10531824.html 需要安装vcxsrv软件,直接安装到windows主机即可.
2.下载镜像 在docker desktop的设置- dockerEngine中添加用于下载的 registry-mirrors,由于国内目前无法访问docker的相关服务器.当我们可以访问这里的镜像.
{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "features": { "buildkit": true }, "insecure-registries": [ ], "registry-mirrors": [ " hub.uuuadc.top", " docker.anyhub.us.kg", " dockerhub.jobcher ", " dockerhub.icu", " docker.ckyl.me", " docker.awsl9527 ", " docker.m.daocloud.io", " docker.laoex.link", " dockerhub.icu", " a7snawvi.mirror.aliyuncs ", "http://hub-mirror.c.163 ", " docker.mirrors.ustc.edu ", " reg-mirror.qiniu " ] }参考: blog.csdn.net/qq_39779233/article/details/142900876 下载指令如下
docker pull osrf/ros:humble-desktop-full-jammy3.运行humble
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=host.docker.internal:0.0 osrf/ros:humble-desktop-full-jammy bash验证可以在windows中能够显示docker内窗口,在docker内执行
source ros_entrypoint.sh rqt之后会发现windows中出现了来自ubuntu的rqt窗口.
4.docker内安装vscode-server 参考文章 docs.ros.org/en/jazzy/How-To-Guides/Setup-ROS-2-with-VSCode-and-Docker-Container.html 参考文章 zhuanlan.zhihu /p/294933020 在windows内的vscode中安装插件 Remote Development 安装完成后即可进入docker内并可以进行文件操作.但是有可能会遇到登录docker时无法在docker内下载vscode-server的情况,这个时候我们要手动下载才可以 那么在服务器上离线安装VS Code Server,只需要在个人用户目录 H O M E 下新建 . v s c o d e − s e r v e r 文件夹,在其中建立 b i n 目录,放置“对应版本”的 V S C o d e S e r v e r 程序。点击菜单栏中的帮助 − > 关于,可以看到 C o m m i t I D ,刚好与 HOME下新建.vscode-server文件夹,在其中建立bin目录,放置“对应版本”的VS Code Server程序。点击菜单栏中的帮助->关于,可以看到Commit ID,刚好与 HOME下新建.vscode−server文件夹,在其中建立bin目录,放置“对应版本”的VSCodeServer程序。点击菜单栏中的帮助−>关于,可以看到CommitID,刚好与HOME/.vscode-server/bin/中文件夹名称相同。其实只需要将这个文件夹打包,放到服务器上对应的位置,就已经安装成功了,这是最方便的做法。 下载server的地址
update.code.visualstudio /commit:${commit_id}/server-linux-x64/stable(注意把:${commit_id}替换成对应的Commit ID)运行命令 重新拷贝vscode-server到指定位置 运行下面两行命令,建立空的$HOME/.vscode-server/bin文件夹。
mkdir -p ~/.vscode-server/bin rm ~/.vscode-server/bin/* -rf #把$HOME/.vscode-server/bin下的内容删干净,防止出错 cd ~/.vscode-server/bin tar -zxf vscode-server-linux-x64.tar.gz mv vscode-server-linux-x64 ${commit_id} # 注意把:${commit_id}替换成对应的Commit ID这个时候在运行windows中的vscode使用remote development即可.
5.python编程时遇到找不到ros2中的rclpy模块 rclpy 模块找不到,有两种可能,第一种是真的没有这个模块,可以使用rosdep来引过来,但是一般按配置好应该只vscode真的找不到,这个时候, 即便时通过vscodeserver 我们也可以在vscode打开-首选项-设置,在搜索框中填入"python.analysis.extrapaths 并添加rclpy在docker中存在的位置.这里是 /opt/ros/humble/local/lib/python3.10/dist-packages 这个位置可以在docker的ubuntu中 echo $PYTHONPATH ,会找到两个路径,rclpy应该会在第二个 /opt/ros/humble/local/lib/python3.10/dist-packages路径下.
注意:我们设置vscode的python.analysis.extrapaths实在windows里设置,但拿到的路径其实是ubuntu里 python的路径.
docker安装ros2并在windows中显示docker内ubuntu系统窗口并且vscode编程由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“docker安装ros2并在windows中显示docker内ubuntu系统窗口并且vscode编程”
上一篇
three.js之特殊材质效果
下一篇
python绘图之回归拟合图