İ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.