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

时间:2015-04-21 15:15:03

标签: docker device

我尝试将已连接到笔记本电脑的设备连接到我的泊坞窗实例。

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

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

docker run --privileged -v /dev/bus/usb:/dev/bus/usb -d -P my-android:0.0.1

但我的主机操作系统是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

您知道如何将设备连接到泊坞窗实例吗?

感谢!!!!

1 个答案:

答案 0 :(得分:2)

我使用安装了VirtualBox Extension Pack的docker-machine上的virtualbox(提供对USB 2.0和USB 3.0设备的支持)。

  • 将手机连接到主机系统。

    $ ioreg -p IOUSB | grep SAMSUNG
    +-o SAMSUNG_Android@14100000  <class AppleUSBDevice, id 0x100000c66, registered, matched, active, busy 0 (13 ms), retain 34>
    
  • 使用虚拟机驱动程序创建一个docker机器(我已将其命名为 base

    docker-machine create --driver virtualbox base
    
  • 停止机器启用VM上的USB控制器

    docker-machine stop base
    

Enable USB Controller

    docker-machine start base

- 将base VM激活为docker host

    eval $(docker-machine env base)

- 启动安装了usb设备的ubuntu容器

    docker run -it --rm -v /dev/usb/bus:/dev/bus/usb ubuntu /bin/bash

- 安装usbutils仅用于安装Android设备连接的lsusb

    root@ce1e4be0bb73:/# apt-get update && apt-get install -y usbutils
  • 第一次运行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
    
  • 显示我必须拔下并重新插入手机的设备,第二轮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