Docker 是一個(gè)開源的應(yīng)用容器引擎,可以幫助開發(fā)人員快速地在不同的計(jì)算機(jī)環(huán)境中構(gòu)建、打包、部署和運(yùn)行應(yīng)用程序。Docker 使用輕量級(jí)的容器技術(shù),可以方便地實(shí)現(xiàn)應(yīng)用程序的移植和部署。
在 Docker 中,如果要使用 USB 設(shè)備,要先在宿主機(jī)上進(jìn)行相關(guān)配置,在容器中才能夠訪問到 USB 設(shè)備。下面是一些常見的 USB 連接配置。
# 在宿主機(jī)上,查看 USB 設(shè)備信息 $ lsusb # 在宿主機(jī)上,分配一個(gè)權(quán)限組 $ sudo groupadd usbusers # 在宿主機(jī)上,將當(dāng)前用戶添加到這個(gè)權(quán)限組 $ sudo usermod -aG usbusers 用戶名 # 在宿主機(jī)上,重啟 udev 服務(wù) $ sudo service udev restart # 在宿主機(jī)上,修改 udev 規(guī)則文件 $ sudo vi /etc/udev/rules.d/50-usb.rules # 添加一條規(guī)則,將指定 ID 的 USB 設(shè)備設(shè)置為權(quán)限組 usbusers SUBSYSTEM=="usb", ATTR{idVendor}=="XXXX", ATTR{idProduct}=="XXXX", MODE="0664", GROUP="usbusers" # 在宿主機(jī)上,重啟 udev 服務(wù) $ sudo service udev restart
配置完成后,就可以在 Docker 容器中訪問 USB 設(shè)備了。需要在啟動(dòng)容器的時(shí)候添加對(duì)應(yīng)的參數(shù)。
# 在 Docker 容器中,添加對(duì) USB 設(shè)備的訪問權(quán)限 $ docker run -it --privileged --device=/dev/bus/usb/XXX/YYY 鏡像名
其中,XXX 和 YYY 表示 USB 設(shè)備的 Bus 和 Device ID。啟動(dòng)容器時(shí)需要修改成對(duì)應(yīng)的值。
通過(guò)以上步驟,就可以在 Docker 容器中使用 USB 設(shè)備了。