İfconfig, Ubuntu Docker kapsayıcısında neden kullanılamıyor?


64

Tabanda ubuntu:12.04, ifconfigkapta mevcut değil, ipkomut mevcut olsa da , neden bu? ve, ifconfigkonteynere nasıl girilir?



Bunun bir ifconfigşekilde kullanımdan kaldırıldığının farkındayım , ancak bazı programlar hala buna bağlı.
Pellaeon

3
Geliştiriciler hala hayatta mı? Bu yıllar önce kullanımdan kaldırıldı.
Michael Hampton

ipYazılımın geçerli sürümünde kullanırken hata var . Sorunun hızlı bir şekilde çözülmesine ihtiyacım var.
Pellaeon

1
"Bazı programlar" ve "hata var": daha belirgin olabilir misiniz?
Mark Wagner

Yanıtlar:


95

İfconfig ile yükleyebilirsiniz apt-get install net-tools. (Özellikle, RUN apt-get install -y net-toolsDockerfile’nize ekleyerek .)

Testime göre, ifconfig, ubuntu'da: 14.04'e dahil edildi.


6
Yine de neden varsayılan olarak dahil edilmediğini merak etmeme neden oluyor, ancak sanırım bu kabın amacı, olabilecek en az ve hala çalışabilecek kadar az olmasıdır.
Iguananaut

5
Başka bir ek - Ubuntu kabının yeni bir örneğinde, paket listeleri de doldurulmamıştır, bu nedenle sudo apt-get updatehenüz yapmadıysanız çalıştırmalısınız .
Iguananaut

1
ifconfigdahil değildir ubuntu:16:04.
JamesThomasMoon1979,

11
@Iguananaut'a cevap vermek için: Bir Ubuntu VM 500+ MB, bir Ubuntu Docker resmi 100 MB'tan az. Kapsayıcı görüntüler yaratan çocuklar, sadece temel gereklilikleri içeride tutabilmek için hangi paketlerin / ikili dosyaların dahil edileceğine ve ne gerekmeyeceğine dair bir çizgi çizmelidir. Bilirsiniz, kapsayıcıları süreçler olarak düşünürseniz ve 'içinde ve
etrafta

13

Net-tools yükleyene kadar, varsayılan olarak vermenize gerek yoktur. Ayrıca IP adresini görmek istiyorsanız docker'ın kullanabileceği başka bir komut daha vardır: -

docker inspect <container_name or container_id>

liman işçisi sözdizimini denetler :docker inspect [OPTIONS] NAME|ID [NAME|ID...]

Bu cmd size IP adresi de dahil olmak üzere çalışan konteyner her detayını gösterecektir.


4

Ben de bu sıkıntıya daldım, ancak Devendra liman işçisi olarak yazdığı gibi konteynır ile ilgili tüm detayları alabilirsin net-tools. Benim durumumda kabın IP'sine ihtiyacım vardı. IP'yi ayıklamak için kullanabilirsiniz:

docker inspect <container-id> \
  | grep "\"IPAddress\"" -m 1 \
  | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

EDIT, konteynerin IP'sini almak için daha da kısa notasyonlar ( docker inceleme örneklerine bakın ):

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container-id-or-name>

Ancak bu OP'nin talep ettiği gibi kabın içinde çalışmayacaktır.
Gerald Schneider,

Haklısın. Sadece yararlı bir ipucu gibi görünüyorsun ve OP'nin büyük olasılıkla konteynerin IP'sini de bulmak istediğini düşündüm.
17'de
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.