2015-08-26 36 views
7

Docker ile ilgili THIS makalesini okuyordum. Basit bir uygulamanın nasıl yapıldığını açıklayan bir yazı.-i bayrağı docker'da ne yapıyor?

$ docker run -t -i ubuntu:14.04 /bin/bash, 

ve sonra aşağıdaki açıklama verilmiştir: Aşağıdaki komut yürütüldüğünde İşte

tekrar liman işçisi çalıştırmak komutu belirtilen ve bir ubuntu çıkardık: 14.04 görüntü. Ancak iki bayraktan da geçtik: -t ve -i. -t bayrağı, yeni kabımızın içine bir sahte etiket veya terminal atar ve -i bayrağı, kapsayıcının (STDIN) içindeki standardı kapatarak etkileşimli bir bağlantı kurmamızı sağlar.

-i flag allows us to make an interactive connection by grabbing the standard in (STDIN) 

teşekkür ederiz:

ben anlamını anlamıyorum. Docker en -i/--interactive

cevap

7

Eğer -t anahtar tarafından oluşturulan yalancı TTY/terminaline olabildiğince "etkileşimli" tipi komutları anlamına standart giriş ("STDIN") aracılığıyla kaba komutlar göndermesine izin verir.

+2

Etkileşimsel ve etkileşimli olmayan arasındaki fark nedir? –

+2

interaktif olmayan, metinde geçemediğiniz tty'ye -t ile aktarılamayacağınız anlamına gelir. interaktif, komutları yazabileceğiniz anlamına gelir ve kapsayıcıdaki tty bu metni alır. –

+2

Hala kafam karıştı. Dokümanlara göre '-i'nin anlamı," STDIN'i bağlı olmasa bile açık tut "olur. Bu bana STDIN eklendiğinde ve -d' seçeneği veya STDIN kullanılmayan bir açık--a seçeneği kullanıldığında sadece gerekli olması gerektiğine işaret ediyor. Bununla birlikte, bu, 'docker run -t ubuntu cat' komutunu çalıştırırsam, yanlış bir giriş yapmaz; Bunu elde etmek için '-i 'eklemeliyim; ama ben neden -i'nin burada niçin olduğunu ya da neden kimse -i'nin -i olmadan davranışını istemediğini anlamıyorum. Dokümanların da belirttiği gibi, -i'nin -d veya -a ile yararlı olup olmadığını da göremiyorum. – gmr