Docker 1. 基础使用

embedded/2025/2/12 5:59:39/

1. Docker

Docker 是一个 基于容器的虚拟化技术,它能够将应用及其依赖打包成 轻量级、可移植容器,并在不同的环境中运行。

2. Docker指令

(1)查看已有镜像

docker images

(2)删除镜像

docker rmi <镜像ID或名称>

 -f:强制删除,即使容器仍在使用该镜像。

(3)运行新的容器(运行镜像)

docker run -it --name mycontainer ubuntu bash
  • -d:后台运行容器(detach)。

  • -i:保持容器的标准输入(interactive)。

  • -t:分配伪终端(TTY)。

  • --name mycontainer:为容器命名。

  • -p 8080:80:端口映射(宿主机 8080 -> 容器 80)。

  • -v /host/path:/container/path:挂载目录。

  • --rm容器退出后自动删除。

(4)查看正在运行的容器

docker ps

(5)查看所有容器  

docker ps -a

-a:列出所有镜像,包括中间层镜像。 

(6)删除容器

docker rm <容器ID或名称>

(7)运行已存在的容器

docker start -i <容器ID或名称>

(8)terminal接入容器

docker exec -it <容器ID或名称> bash
  • -it:交互模式进入容器
  • --user root:以 root 用户身份执行。

(9)停止运行的容器

docker stop <容器ID或名称>
  • -t <秒数>:指定等待容器停止的时间(默认 10 秒)。
  • --time <秒数>:同 -t

(10)使用容器运行程序

第一种方法,在创建容器时挂载主机目录

docker run --it --rm -v /path/to/your/scripts:/scripts -w /scripts python:3.9 python your_script.py

 随后运行脚本

docker exec -it <容器ID> python /scripts/your_script.py

第二种方法,将文件写入容器中运行。

(11)容器界面可视化

参考docker容器在windows上的可视化配置_docker 跑的windows如何图形化查看-CSDN博客

安装VcXsrv并启动XLaunch, 并在启动的容器中运行

export DISPLAY=host.docker.internal:0

测试:以ros humble镜像为例,测试小海龟的显示

运行image并保持容器挂起

docker run -dit --name humble althack/ros2:humble-full bin/bash

 进入容器,启动host发布

docker exec -it humble bin/bash
export DISPLAY=host.docker.internal:0

 启动小海龟

ros2 run turtlesim turtlesim_node

 


http://www.ppmy.cn/embedded/161523.html

相关文章

EXCEL数据解析与加密处理方法

在 Excel 中&#xff0c;你可以通过以下步骤将字符串 h1,-109218;h10,-103431;h101,-102563;... 解析为两列数据&#xff08;一列为 h 变量&#xff0c;另一列为对应的数字&#xff09;&#xff1a; 步骤 1&#xff1a;准备数据 将字符串 h1,-109218;h10,-103431;h101,-102563…

effective-Objective-C 第五章学习笔记

内存管理 文章目录 内存管理理解引用计数属性存取方法的内存管理自动释放池要点 以ARC简化引用计数使用ARC时必须遵循的方法命名规则变量的内存管理语义ARC清理实例变量覆写内存管理方法要点 在dealloc方法中只释放引用并解除监听要点 编写异常安全代码时留意内存管理问题要点 …

用语言模型探索语音风格空间:无需情感标签的情 感TTS

用语言模型探索语音风格空间&#xff1a;无需情感标签的情感TTS 引言 研究背景 许多情感文本转语音&#xff08;E-TTS&#xff09;框架依赖于人工标注的情感标签&#xff0c;这些标签往往不准确且难以获取。情感韵律的学习具有挑战性&#xff0c;因为情感本身具有主观性。 …

学习 URL 传参中哪些字符是支持的,哪些是不支持的

URL 的结构 URL 由多个部分组成&#xff0c;包括协议、域名、路径、查询参数和片段标识符&#xff0c;其中&#xff0c;查询参数部分就是问号后面的内容&#xff0c;这部分使用键值对&#xff0c;中间用 & 分隔。比如&#xff0c;http://example.com/path?key1value1&…

Greenplum7 测试报告

Greenplum 测试报告 一、测试背景 在数字化浪潮汹涌澎湃的当下&#xff0c;随着互联网、物联网等技术的飞速发展&#xff0c;企业每天都会产生和收集到海量的数据。这些数据涵盖了用户行为、业务运营、市场动态等各个方面&#xff0c;宛如一座蕴藏着巨大价值的宝藏。然而&…

ArcGIS中的空值问题

空值是数据的一种特殊状态&#xff0c;当某个字段没有被赋值或者在数据获取、处理过程中数据缺失时就会出现空值。 01、空值的表现形式 【空值】不同于数字型的【零值】或者字符串型的【空格】。 数字型的【零值】是一个确定的数值&#xff0c;表示数量上为0。 字符串型的【…

MyBatis常见知识点

#{} 和 ${} 的区别是什么&#xff1f; 答&#xff1a; ${}是 Properties 文件中的变量占位符&#xff0c;它可以用于标签属性值和 sql 内部&#xff0c;属于原样文本替换&#xff0c;可以替换任意内容&#xff0c;比如${driver}会被原样替换为com.mysql.jdbc. Driver。 一个…

DevOps :无价值指标与可操作指标

观看完本文后&#xff0c;你将能够识别无价值指标的局限性&#xff0c;描述可操作指标的价值&#xff0c;并列举可操作指标的示例。 警惕无价值指标。无价值指标能让人感觉良好&#xff0c;但不利于采取行动。例如&#xff0c;想想网站的 “点击量” 这一指标。你可能会宣称&am…