2013-07-22 40 views
10

Docker dosyasında yerleşik bir yerleşik sistem geliştirme görüntüsü var. Kodun yanıp sönmesi için, USB Seri üzerinden düğümlere bağlanması gerekir (ör./Dev/ttyACM0).Bir usb aygıtını bir lxc/docker kabına maruz bırakmak mümkün mü?

Docker ile, ana makine yardımcılarını kapsayıcıya göstermek için yeni bağlama bağlama özelliğini (bkz. https://github.com/dotcloud/docker/issues/111, -b veya latedly -v seçeneği) kullandım. Bununla birlikte, her bağlandığımda ("cat/d/ttyACM0", d, dev) cihaza "bağlanmasına izin verilmez" aygıtına bağlanır. Bağlamayı sadece bağlamak değil, aslında kapsayıcıda karakter aygıtları kullanmak mümkün mü?

Belirli devleri udev kuralları aracılığıyla ortaya çıkarmak mümkün olabilir mi?

cevap

2

--device seçenek hemen bir kaba bir dev maruz bırakılmasını sağlar, örneğin .:

(docker ile "ID" kontrol) tam biri olması gerekir
docker run -t -i --device=/dev/ttyUSB0 ubuntu bash 

(this SO answer den Bulundu.)

+0

Teşekkürler - Burada gerekli olan kısmı kopyaladım. Sorunun en azından bir kısmına cevap verdiğime inanıyorum ("Bağlayıcıyı bağlamak değil, aslında kapsayıcıda karakter aygıtlarını kullanmak mümkün mü?"). – tuomassalo

4

Geçerli anda, bu docker ile mümkün değildir. Ancak, bir kabın USB veya GPU gibi cihazlara erişmesine izin veren bir 'ayrıcalık' modu üzerinde çalışıyoruz.

çalışan kabın doğrudan LXC-CGroup kullanarak docker kendisi (cevaba bakınız) üzerinden
0

iken mümkün değildir benim için hileye neden olabilir: cihaz sınıfını ttyACM için

sudo lxc-cgroup -n 0dd4c652d0740e5ddb6f80e6f2ec2c52dd6435b22c8114c000c58ca9703ebc62 devices.allow "c 166:* rwm" 

166 standları

docker kimliği

+0

BTW: config.lxc ekleyerek docker güvenmek tehlikelidir ve LXC aynı anda komutları – till

+0

Not benim için çalışmak görünmüyor. Docker LXC'yi kullanırken, gelecekte olmayabilir ve bildiğim kadarıyla herhangi bir uyumluluk garanti edilmez. – qkrijger