Warum ist ifconfig im Ubuntu Docker-Container nicht verfügbar?
64
Mit der Basis ubuntu:12.04, ifconfigist nicht verfügbar in den Behältern, wenn der ipBefehl verfügbar ist, warum das so ist? und wie kommt man ifconfigin den behälter
Ich frage mich immer noch, warum es nicht standardmäßig enthalten ist, aber ich nehme an, der Punkt dieses Containers ist, dass es so minimal ist, wie es nur sein kann und immer noch funktioniert.
Iguananaut
5
Ein weiteres Addendum: Auf einer neuen Instanz des Ubuntu-Containers werden die Paketlisten ebenfalls nicht gefüllt. Sie müssen also ausgeführt werden, sudo apt-get updatewenn Sie dies noch nicht getan haben.
Iguananaut
1
ifconfigist nicht enthalten in ubuntu:16:04.
JamesThomasMoon1979
11
Antwort von @Iguananaut: Eine Ubuntu-VM hat mehr als 500 MB, während ein Ubuntu-Docker-Image weniger als 100 MB hat. Jungs, die Container-Images erstellen, müssen eine Linie zeichnen, welche Pakete / Binärdateien enthalten sein sollen und welche nicht, um nur die Grundbedürfnisse im Inneren zu behalten. Sie wissen, all dies ist sinnvoller, wenn Sie Container als Prozesse und nicht als "isolierte Computerumgebung zum Spielen" betrachten
Rushi Agrawal
13
Sofern und bis Sie net-tools installieren können, müssen Sie es nicht standardmäßig angeben. Auch wenn Sie die IP-Adresse sehen möchten, gibt es einen anderen Befehl, der vom Docker selbst verfügbar ist:
Ich bin auch auf dieses Ärgernis gestoßen, aber wie Devendra in Docker Inspect schrieb , kann man alle Details über den Container ohne nachlesennet-tools . In meinem Fall brauchte ich die IP des Containers. Um die IP zu extrahieren, können Sie Folgendes verwenden:
ifconfig
das irgendwie veraltet ist, aber einige Programme hängen immer noch davon ab.ip
in der aktuellen Version der Software. Ich brauche eine schnelle Umgehung des Problems.Antworten:
Sie können ifconfig mit installieren
apt-get install net-tools
. (Insbesondere durch HinzufügenRUN apt-get install -y net-tools
zu Ihrer Docker-Datei.)Basierend auf meinem Test ist ifconfig in Ubuntu enthalten: 14.04.
quelle
sudo apt-get update
wenn Sie dies noch nicht getan haben.ifconfig
ist nicht enthalten inubuntu:16:04
.Sofern und bis Sie net-tools installieren können, müssen Sie es nicht standardmäßig angeben. Auch wenn Sie die IP-Adresse sehen möchten, gibt es einen anderen Befehl, der vom Docker selbst verfügbar ist:
Docker-Inspect- Syntax:
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Dieser Cmd zeigt Ihnen jedes Detail des laufenden Containers einschließlich der IP-Adresse.
quelle
Ich bin auch auf dieses Ärgernis gestoßen, aber wie Devendra in Docker Inspect schrieb , kann man alle Details über den Container ohne nachlesen
net-tools
. In meinem Fall brauchte ich die IP des Containers. Um die IP zu extrahieren, können Sie Folgendes verwenden:BEARBEITEN Sie eine noch kürzere Notation, um die IP des Containers zu erhalten (siehe Docker-Inspektionsbeispiele ):
quelle