Windows11下Docker使用记录(一)

news2024/11/27 2:15:08

Docker使用记录(一)

    • 简单介绍
    • Docker安装
    • Docker 常用命令
    • Docker 可视化
    • Docker 使用GPU
    • 可视化rviz、gazebo

在进行ROS项目开发时,如果只有一台Windows电脑,我们可以考虑使用WSL或Docker来搭建ROS环境。在尝试了两种方式后,我们认为使用Docker容器更为方便和安全。本文的特色在于解决了ROS仿真软件在Docker容器中可视化的问题。

简单介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源 1

具体而言,Docker就是一个轻量级的虚拟机,可以让我们在每个独立的container容器(类似 iPhone 的 app)中进行开发而不会干扰host系统,非常安全可靠。
在这里插入图片描述

Docker安装

Windows中安装 Docker Desktop: https://www.docker.com/products/docker-desktop/

值得注意的是,官方文档有说明 “借助 Docker Desktop for Windows 中支持的 WSL 2 后端,可以在基于 Linux 的开发环境中工作并生成基于 Linux 的容器,同时使用 Visual Studio Code 进行代码编辑和调试,并在 Windows 上的 Microsoft Edge 浏览器中运行容器” 2

翻译过来就是,在win11系统中利用WSL2安装的Ubuntu系统可以共享 win11中安装的docker desktop。只需确保如下设置:
在这里插入图片描述
在这里插入图片描述

Docker 常用命令

docker version  	#查看版本
docker ps 			#列出运行中的containers
docker info			#列出几乎images&containers所有相关信息
docker image ls		#列出所有镜像
docker container ls	#列出运行中的containers
docker run <options> <image_name>		#运行指定镜像
docker run -it <image_name>				#以交互模式运行指定镜像
docker stop <options> <container_id>	#关闭指定container
docker exec <options> <container_id> 	#进入指定容器
docker exec -it <container_id> 			#以交互模式进入指定容器
docker pull <image_name>		#从docker hub 里拉取镜像

也可以从Docker Desktop里直接拉取镜像

docker push <options> <image_name>		#将本地镜像上传至docker hub,但体积太大的会被拒绝
docker commit <options> <container_id> <new_image_name>	#将container转化为image

Docker 可视化

安装VcXsrv,可以看这篇,都是一样的操作。

Docker 使用GPU

确保host主机有Nvidia GPU,下载Nvidia发布的docker images.

在这里插入图片描述

可视化rviz、gazebo

当初使用docker就是为了在windows下使用ROS。查阅官方说明3,在docker container中可视化需要如下操作:
1.docker image 在Ubuntu(WSL2)下创建的
2. 在 Ubuntu中输入:

docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --device=/dev/dri:/dev/dri -p 8080:10000 <docker_image_name> bash

在这里插入图片描述
在这里插入图片描述


  1. 菜鸟教程 | Docker 教程: https://www.runoob.com/docker/docker-tutorial.html ↩︎

  2. https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-containers ↩︎

  3. http://wiki.ros.org/docker/Tutorials/GUI ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【静态分析】静态分析笔记01 - Introduction

参考&#xff1a; BV1zE411s77Z [南京大学]-[软件分析]课程学习笔记(一)-introduction_南京大学软件分析笔记-CSDN博客 ------------------------------------------------------------------------------------------------------ 1. program language and static analysis…

Python实现滑块验证码识别,最简单的一种,没有任何加密

网址链接&#xff1a;衣丰 & 2010-聚衣网(juyi5.cn) - 常熟市聚衣网&#xff0c;聚衣网女装&#xff0c;江苏省女装批发&#xff0c;苏州市女装批发&#xff0c;常熟市女装批发&#xff0c;网销女装一件代发&#xff0c;全国最低价 平时采集数据&#xff0c;频率过快&…

ai伪原创文案,快速生成文案的方法!

在当今数字化时代&#xff0c;文案写作成为广告、营销等领域中不可或缺的一环。然而&#xff0c;随着互联网的发展&#xff0c;市场上的竞争愈发激烈&#xff0c;传统的文案写作方式已经无法满足大家的需求。ai伪原创文案的出现&#xff0c;便成为一种快速的写作文案的方法。本…

PowerJob 分布式任务调度简介

目录 适用场景 设计目标 PowerJob 功能全景 任务调度 工作流 分布式计算 动态容器 什么是动态容器? 使用场景 可维护性和灵活性的完美结合 实时日志&在线运维 PowerJob 系统组件 PowerJob 应用场景 PowerJob 的优势 PowerJob&#xff08;原OhMyScheduler&…

中国500米分辨率年最大EVI数据集

增强型植被指数&#xff08;EVI&#xff09;是在归一化植被指数&#xff08;NDVI&#xff09;改善出来的&#xff0c;根据大气校正所包含的影像因子大气分子、气溶胶、薄云、水汽和臭氧等因素进行全面的大气校正&#xff0c;EVI大气校正分三步&#xff0c;第一步是去云处理。第…

基于SpringBoot+Vue网上医院预约挂号系统+jsp(源码+部署说明+演示视频+源码介绍+lw)

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…

python使用uiautomator2操作雷电模拟器9

之前写过一篇文章 python使用uiautomator2操作雷电模拟器_uiautomator2 雷电模拟器-CSDN博客 上面这篇文章用的是雷电模拟器4&#xff0c;雷电模拟器4.0.78&#xff0c;android版本7.1.2。 今天有空&#xff0c;再使用雷电模拟器9&#xff0c;android版本9来测试一下 uiauto…

绝地求生29.1版本更新后进不去 绝地求生更新后进不去游戏怎么办

绝地求生游戏共有两种主要模式&#xff1a;第一人称模式和第三人称模式。在这两种模式下玩家可以分别进行单排&#xff0c;双排&#xff0c;四人组队或单人匹配四人团队模式。在进入游戏的时候&#xff0c;玩家可以在面板选择第一人称以及第三人称。在双排或四排等组队多人游戏…

【学习】软件测试需求分析要从哪些方面入手

软件测试需求分析是软件测试过程中非常重要的一个环节&#xff0c;它是为了明确软件测试的目标、范围、资源和时间等要素&#xff0c;以确保软件测试的有效性和全面性。本文将从以下几个方面对软件测试需求分析进行详细的阐述&#xff1a; 一、软件测试目标 软件测试目标是指…

CSS文本单行溢出和多行溢出样式

一、单行溢出 1.代码 <!DOCTYPE html> <html><head><meta charset"UTF-8" /><title>demo</title><style>#div2{overflow: hidden;white-space: nowrap;/*强制不换行*/text-overflow:ellipsis;/*超出的部分用省略号代替*…

gitee和idea集成

1 集成插件 2 配置账号密码 3 直接将项目传到仓库 4直接从gitee下载项目

【Linux】有关时间的命令(date、timedatectl)

专栏文章索引&#xff1a;Linux 有问题可私聊&#xff1a;QQ&#xff1a;3375119339 目录 一、data命令 1.介绍 2.常用参数 3.常用选项 二、timedatectl命令 1.介绍 2.常用子命令 一、data命令 1.介绍 date命令用于显示或设置系统的时间与日期&#xff0c;语法格式为&a…

axios取消请求,解决接口返回顺序错乱问题

下面的方案适用于系统中的某个请求的取消&#xff0c;项目的请求使用 axios 封装 使用场景&#xff1a;当页面有多个 tab&#xff0c;例如年、月、日的列表数据&#xff0c;当点击切换的时候要获取对应的数据&#xff0c;此时如果快速点击在tab直接反复横跳会出现下面的问题&am…

java对象是怎么在jvm中new出来的,在内存中查看java对象成员变量字段属性值

java对象是怎么在jvm中new出来的 查看java对象字段属性在内存中的值 java 对象 创建 流程 附上java源码 public class MiDept {private int innerFiled999;public MiDept() {System.out.println("new MiDept--------------");}public String show(int data) {Sy…

40.Python从入门到精通—Python3 JSON 数据解析 Python3 日期和时间 什么是时间元组? 获取当前时间 获取格式化的时间

40.Python从入门到精通—Python3 JSON 数据解析 Python3 日期和时间 什么是时间元组&#xff1f; 获取当前时间 获取格式化的时间 Python3 JSON 数据解析Python3 日期和时间什么是时间元组&#xff1f;获取当前时间获取格式化的时间 Python3 JSON 数据解析 Python3 中可以使用…

大数据基本名词

目录[-] 1.1. 1. Hadoop1.2. 2. Hive1.3. 3. Impala1.4. 4. Hbase1.5. 5.hadoop hive impala hbase关系1.6. 6. Spark1.7. 7. Flink1.8. 8. Spark 和 Flink 的应用场景 1. Hadoop 开源官网&#xff1a;https://hadoop.apache.org/ Hadoop是一个由Apache基金会所开发的分…

宝宝眼睛轻揉小心,健康成长路上的关怀指南

引言&#xff1a; 宝宝的眼睛是他们认知世界的窗户&#xff0c;眼睛的健康对于他们的成长至关重要。然而&#xff0c;有时我们会发现宝宝揉眼睛的情况&#xff0c;这可能会引起家长的担忧。本文旨在探讨新生儿揉眼睛的注意事项&#xff0c;以及如何正确处理这种情况&#xff0c…

谷歌推出适用于安卓设备的“Find My Device”网络,功能类似苹果Find My

谷歌今日推出了适用于安卓设备的“Find My Device”网络&#xff0c;其功能类似于苹果的“Find My”网络&#xff0c;旨在帮助用户定位丢失、被盗的安卓产品。 安卓的“Find My Device”网络可以利用数以亿计运行 Android 9 或更高版本的安卓设备&#xff0c;通过蓝牙信号追踪丢…

mysql 查询实战-变量方式-解答

对mysql 查询实战-变量方式-题目&#xff0c;进行一个解答。&#xff08;先看题&#xff0c;先做&#xff0c;再看解答&#xff09; 1、查询表中⾄少连续三次的数字 1&#xff0c;处理思路 要计算连续出现的数字&#xff0c;加个前置变量&#xff0c;记录上一个的值&#xff0c…

FHE全同态加密简介

1. 何为FHE&#xff1f; FHE (Fully homomorphic encryption)&#xff1a; 是一种隐私技术&#xff0c;支持直接对密文进行计算&#xff0c;而无需对密文先解密再计算。即&#xff0c;任何第三方或云厂商&#xff0c;都可对敏感信息的密文进行处理&#xff0c;而无需访问密文内…