Tôi đã tạo hình ảnh Docker chứa SDK Android và đang cố gắng để hiển thị điện thoại Android của mình trong vùng chứa đang chạy hình ảnh này. Vì vậy, tôi đã sử dụng lá cờ --privileged và gắn các thiết bị USB như sau:Kết nối với Thiết bị Android USB trong Vùng chứa Docker qua adb
$ docker run --privileged -v /dev/bus/usb:/dev/bus/usb -d -P my-android:0.0.1
Tuy nhiên, khi tôi chạy adb devices, nó không chỉ cho tôi các thiết bị USB
[email protected]:~/Android/Sdk/platform-tools$ ./adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
[email protected]:~/Android/Sdk/platform-tools$
lsusb bên trong container liệt kê các thiết bị:
[email protected]:~$ lsusb
...
Bus 002 Device 017: ID 04e8:6866 Samsung Electronics Co., Ltd GT-I9300 Phone [Galaxy S III] (debugging mode)
thiết bị này là tuy nhiên có thể nhìn thấy trong máy chủ:
⇒ ./adb devices
List of devices attached
4d11abcd65b74045 device
Hệ điều hành cài
$ uname -a
Linux ananya 3.16.0-33-generiC#44~14.04.1-Ubuntu SMP Fri Mar 13 10:33:29 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Docker phiên bản
Điều gì có thể vấn đề này?
Tôi không nghĩ rằng các daemon adb chạy trong thiết bị có thể được kết nối với hai máy chủ adb. Hãy thử ngắt kết nối nó khỏi adb của máy chủ của bạn và sau đó kết nối nó với adb của docker. – jlhonora
Tuyệt vời! Đó có vẻ là lý do. Tôi ngắt kết nối với máy chủ adb và nó hoạt động tốt. Cảm ơn! Bạn có thể đăng câu trả lời để tôi có thể đánh dấu câu trả lời là câu trả lời đúng. – buzypi