Ich habe gerade das Ubuntu Docker-Image installiert. Wenn ich "ifconfig" ausführe, heißt es, dass es keinen solchen Befehl gibt. Ich habe versucht, apt-get zu installieren, da es kein Paket mit dem Namen "ifconfig" gibt (ich kann einige andere Images installieren).
Wie geht das? Vielen Dank.
RUN apt-get install -y net-tools
Antworten:
Führen Sie auf einem neuen Ubuntu-Docker-Image aus
Diese können ausgeführt werden, indem Sie sich beim Docker-Container anmelden oder diese zu Ihrer Docker-Datei hinzufügen, um ein Image mit derselben zu erstellen.
quelle
Sie könnten auch berücksichtigen:
(wie Contango kommentiert : Sie müssen zuerst ausführen
apt-get update
, um Fehler mit fehlendem Repository zu vermeiden).Siehe " ifconfig durch ip ersetzen "
Wie unter " Abrufen der IP-Adresse eines Docker-Containers vom Host " zu sehen ist,
docker inspect
kann die Verwendung je nach Anwendungsfall nützlicher sein.quelle
apt-get update
(um Fehler mit fehlendem Repository zu vermeiden).RUN apt-get update && apt-get install -y iputils-ping
nichtip-utils-ping
zumindest das ist , wie es funktioniert für mich.Verwenden Sie den folgenden Befehl, um die IP-Adresse des laufenden Containers abzurufen.
Beispiel-:
quelle
ifconfig
es funktioniert auch nicht.Innerhalb einer Docker-Datei sollte etwas wie das Folgende den Trick tun:
Aus dem Speicher wird empfohlen, das Update und die Paketinstallationszeilen zu kombinieren, um zu verhindern, dass Docker den Update-Schritt zwischenspeichert, was dazu führen kann, dass veraltete Pakete installiert werden.
Installation über die CLI oder ein Shell-Skript:
apt-get update && apt-get install net-tools
quelle
Ich bin hierher gekommen, weil ich versucht habe, ifconfig für den Container zu verwenden, um seine IPA-Adresse zu finden, und es gab keine ifconfig. Wenn Sie ifconfig für den Container wirklich benötigen, klicken Sie oben auf @ vishnu-narayanan. Möglicherweise können Sie jedoch die benötigten Informationen mithilfe von Docker Inspect auf dem Host abrufen:
docker inspect <containerid>
Es gibt viele gute Dinge in der Ausgabe, einschließlich IPAddress des Containers:
"Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "12345FAKEID", "EndpointID": "12345FAKEENDPOINTID", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.3", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "01:02:03:04:05:06", "DriverOpts": null } }
quelle
Wenn Sie das Docker-Image als "normale" Ubuntu-Installation verwenden möchten, können Sie es auch ausführen
unminimize
. Dies wird viel mehr als installierenifconfig
, so dass dies möglicherweise nicht das ist, was Sie wollen.quelle
schreiben
sudo apt-get install net-tools
quelle
Wenn das Ubuntu Docker-Image "ifconfig" in GNS3 nicht erkennt, müssen Sie das Ubuntu Docker-Image auf Ihrem Host öffnen.
Angenommen, Sie haben bereits Docker auf Ihrem Host-PC und Ubuntu aus Docker-Bildern. Geben Sie diese Befehle in die CLI Ihres Host-Betriebssystems (Linux, CentOS usw.) ein.
(Randnotiz: Sie können alle anderen Tools und Dienste hinzufügen, die Sie jetzt hinzufügen möchten, aber im Moment dient dies nur dazu, ifconfig zum Laufen zu bringen.)
Jetzt werden Sie diese Änderungen an Docker übergeben. Dieser Link zum Festschreiben von Änderungen ist die beste Zusammenfassung und funktioniert (fahren Sie mit Schritt 4 fort):
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image#htoc-step-3-modify-the-container
Wenn Sie das Docker-Image in GNS3 erneut öffnen, sollte jetzt der Befehl ifconfig verwendbar sein und alle anderen Tools oder Dienste, die Sie dem Container hinzugefügt haben.
Genießen!
quelle
sudo apt-get installiere iproute2 und führe dann ip addr show aus
Es klappt..
quelle