Mac OS X下的移动设备连接到Docker

Ram*_*oza 9 device docker

我正在尝试将我连接到笔记本电脑的设备连接到我的docker实例.

具体来说,我有4个设备(两个iphone,两个android),我希望能够启动4个docker实例并将每个设备连接到一个实例.

我期望做的就像在ubuntu中那样简单

docker run --privileged -v /dev/bus/usb:/dev/bus/usb -d -P my-android:0.0.1
Run Code Online (Sandbox Code Playgroud)

但我的主机操作系统是Mac OS X,也是我正在创建的实例,因为我需要访问仪器工具.

但到目前为止,我读到在mac os x下,设备直接连接虽然没有安装usb.

这是我搜索iphone设备时得到的:

      iPhone USB:
      Type: Ethernet
      BSD Device Name: en6
      IPv4:
          Configuration Method: DHCP
      IPv6:
          Configuration Method: Automatic
      Proxies:
          Exceptions List: *.local, 169.254/16
          FTP Passive Mode: Yes
Run Code Online (Sandbox Code Playgroud)

您知道如何将设备连接到docker实例吗?

谢谢!!!!

val*_*sta 2

我在安装了 VirtualBox 扩展包(提供对 USB 2.0 和 USB 3.0 设备的支持)的virtualbox上使用docker-machine进行了此操作。

启用USB控制器

    docker-machine start base
Run Code Online (Sandbox Code Playgroud)

- 激活baseVM作为docker主机

    eval $(docker-machine env base)
Run Code Online (Sandbox Code Playgroud)

- 启动已安装 USB 设备的 ubuntu 容器

    docker run -it --rm -v /dev/usb/bus:/dev/bus/usb ubuntu /bin/bash
Run Code Online (Sandbox Code Playgroud)

- 安装usbutils仅用于演示的lsusbAndroid 设备已连接

    root@ce1e4be0bb73:/# apt-get update && apt-get install -y usbutils
Run Code Online (Sandbox Code Playgroud)
  • 第一次运行lsusb(未显示设备)

    root@ce1e4be0bb73:/# lsusb
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
    Run Code Online (Sandbox Code Playgroud)
  • 为了显示设备,我必须拔掉并再次插入我的手机,第二次运行lsusb

    root@ce1e4be0bb73:/# lsusb
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 002: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy (MTP)
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
    Run Code Online (Sandbox Code Playgroud)