docker容器挂载USB串口设备

embedded/2024/9/22 23:49:25/

1、在容器所在宿主机确认USB串口设备

有两种方法可以将USB设备挂载到容器中: 使用--privileged参数或者使用--device参数

  • --prvleged参数可以让容器拥有主机的所有特权,包括所有可以访问USB设备。
  • --device参数可以针对特定的设备挂载到容器中。

[root@docker40 ~]# lsusb

[root@docker40 ~]# dmesg | grep ttyS*

2、使用docker-compose.yml文件挂载USB转串口设备

2.1 修改docker-compose.yml文件

[root@docker40 ~]# cd /opt/tl_shr03

[root@docker40 tl_shr03]# vim docker-compose.yml

2.2 重构shr3-core容器

[root@docker40 tl_shr03]# docker stop shr3-core && docker rm -f shr3-core

[root@docker40 tl_shr03]# docker-compose up -d shr3-core

2.3 进入容器确认USB转串口设备

[root@docker40 tl_shr03]# docker exec -it shr3-core bash

bash-4.4# lsusb

bash-4.4# dmesg | grep ttyS*

3、使用docker run --device挂载USB转串口设备

3.1 创建容器

[root@docker40 tl_shr03]# docker run -itd --name test-tty --restart=always \

--device=/dev/ttyUSB0 192.168.1.22/app/shr3-core:1.0.0-SNAPSHOT

3.2 进入容器确认USB转串口设备

[root@docker40 ~]# docker exec -it test-tty bash

bash-4.4# lsusb

bash-4.4# ls /dev/tty*

4、使用docker run --privileged挂载USB转串口设备

4.1 创建容器

[root@docker40 tl_shr03]# docker run -itd --name test-tty --restart=always --privileged \

-v /dev/bus/usb:/dev/bus/usb 192.168.1.22/app/shr3-core:1.0.0-SNAPSHOT

参数说明:

--privileged,打开超级用户权限,允许容器访问宿主机的设备

-v /dev/bus/usb:/dev/bus/usb,挂载usb设备,此方式支持热插拔USB设备

4.2 进入容器确认USB转串口设备

[root@docker40 ~]# docker exec -it test-tty bash

bash-4.4# lsusb

bash-4.4# ls /dev/tty*

bash-4.4# dmesg | grep ttyS*


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

相关文章

springboot+neo4j的demo

创建一个Spring Boot项目并集成Neo4j图数据库,可以按照以下步骤进行。假设你已经安装了Java、Maven和IDE(如IntelliJ IDEA或Eclipse)。 1. 创建Spring Boot项目 你可以使用Spring Initializr来创建一个新的Spring Boot项目。访问​​Spring Initializr​​并配置以下选项:…

程序员在AI时代的核心竞争力提升策略

摘要 随着AI技术的迅猛发展,特别是AIGC等大语言模型在编程领域的广泛应用,程序员面临着前所未有的职业挑战与机遇。本研究深入剖析了程序员在AI时代所需的核心竞争力,包括坚实的编程技能与专业知识、持续的学习能力与创新思维,以及强大的团队协作与沟通能力。通过系统分析这…

C++多态详解

1. 多态的概念 多态就是函数调用的多种形态,使用多态能够使得不同的对象去完成同一件事时,产生不同的动作和结果。 举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买…

CCFF:RT-DETR中的CCFF结构代码详解(Pytorch)

代码链接 lyuwenyu/RT-DETR: [CVPR 2024] Official RT-DETR (RTDETR paddle pytorch), Real-Time DEtection TRansformer, DETRs Beat YOLOs on Real-time Object Detection. 🔥 🔥 🔥 (github.com)https://github.com/lyuwenyu/RT-DETR 模…

CentOS7安装Docker教程(含最新镜像地址)

文章目录 1 安装前必读2 安装Docker的详细步骤3 配置镜像加速 1 安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可。 注意:本文的命令使用的是 root 用户…

C# 字符串扩展方法

功能 1.判断一个字符串是否为null或者空字符串 2.判断一个字符串是否为null或者空白字符 3.判断一个字符串是否为数字 4.判断一个字符串是否为邮件 5.判断一个字符串是否为字母加数字 6.判断一个字符串是否为手机号码 7.判断一个字符串是否为电话号码 8.判断一个字符串是否为网…

Next.js中的客户端渲染和服务端渲染

前言 为什么会想着探究这个呢?因为我在学习的过程中发现:在next中默认是"use server"也就是如果使用服务端的话是不需要标明的,只有客户端才需要标明"use client",但是在我去掉代码中的"use server"后会报错c…

C#中的多线程

c#中的Task 在C#中,Task 是一个表示异步操作的类,它是 System.Threading.Tasks 命名空间下的一部分。Task 用于实现异步编程模型,允许开发者编写不会阻塞调用线程的代码,从而提高应用程序的响应性和性能。 以下是 Task 的一些关…