Właśnie zainstalowałem obraz dockera ubuntu, kiedy wykonuję "ifconfig", mówi, że nie ma takiego polecenia, próbowałem apt-get install, ponieważ nie ma pakietu o nazwie "ifconfig" (mogę zainstalować inne obrazy).
Więc jak to zrobić? Dzięki.
Właśnie zainstalowałem obraz dockera ubuntu, kiedy wykonuję "ifconfig", mówi, że nie ma takiego polecenia, próbowałem apt-get install, ponieważ nie ma pakietu o nazwie "ifconfig" (mogę zainstalować inne obrazy).
Więc jak to zrobić? Dzięki.
Odpowiedzi:
Na nowym obrazie dockera Ubuntu uruchom
apt-get update
apt-get install net-tools
Można je wykonać, logując się do kontenera dockera lub dodając go do pliku dockerfile, aby zbudować obraz z tym samym.
Możesz również rozważyć:
RUN apt-get update && apt-get install -y iputils-ping
(jak komentuje Contango : musisz najpierw uruchomićapt-get update
, aby uniknąć błędu związanego z brakującym repozytorium).
Zobacz „ Zamiana ifconfig na ip ”
najczęściej zaleca się wykonanie polecenia, które zostało zastąpione
ifconfig
. To polecenie jestip
i wykonuje świetną robotę, zastępując nieaktualneifconfig
.
Ale jak widać w „ Pobieranie adresu IP kontenera Dockera z hosta ”, użycie docker inspect
może być bardziej przydatne w zależności od przypadku użycia.
apt-get update
(aby uniknąć błędu związanego z brakującym repozytorium).
RUN apt-get update && apt-get install -y iputils-ping
nie ip-utils-ping
Przynajmniej tak to działa w moim przypadku.
Użyj poniższego polecenia, aby uzyskać adres IP uruchomionego kontenera.
$ ip addr
Przykład-:
root@4c712d05922b:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
247: eth0@if248: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:11:00:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.17.0.6/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:6/64 scope link
valid_lft forever preferred_lft forever
ifconfig
to też nie działa.
Z poziomu pliku Dockerfile powinno załatwić coś takiego:
RUN apt-get update && \
apt-get install -y net-tools
Z pamięci najlepiej jest połączyć aktualizację i wiersze instalacji pakietu, aby zapobiec buforowaniu przez docker kroku aktualizacji, co może spowodować zainstalowanie przestarzałych pakietów.
Instalowanie go przez CLI lub skrypt powłoki:
apt-get update && apt-get install net-tools
Przyszedłem tutaj, ponieważ próbowałem użyć ifconfig na kontenerze, aby znaleźć jego adres IP, a nie było ifconfig. Jeśli naprawdę potrzebujesz ifconfig w kontenerze, skorzystaj z odpowiedzi @ vishnu-narayanan powyżej, jednak możesz uzyskać potrzebne informacje, używając docker inspect na hoście:
docker inspect <containerid>
W wynikach jest wiele dobrych rzeczy, w tym adres IP kontenera:
"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
}
}
Jeśli chcesz użyć obrazu Dockera jako „zwykłej” instalacji Ubuntu, możesz również uruchomić unminimize
. Spowoduje to instalację znacznie więcej niż ifconfig
, więc może to nie być to, czego chcesz.
pisać
sudo apt-get install net-tools
Jeśli obraz Ubuntu Docker nie rozpoznaje „ifconfig” w GNS3, musisz otworzyć obraz Dockera Ubuntu na swoim hoście.
Zakładając, że masz już docker na swoim komputerze-hoście i ubuntu ściągnięty z obrazów dockera. Wprowadź te polecenia w interfejsie CLI hosta (Linux, CentOS itp.).
$docker images
$docker run -it ubuntu
$apt-get update
$apt-get install net-tools
(Uwaga dodatkowa: możesz dodać dowolne inne narzędzia i usługi, które chcesz dodać teraz, ale na razie jest to tylko po to, aby ifconfig działał).
$exit
Teraz wprowadzisz te zmiany do Dockera. Ten link do zatwierdzania zmian jest najlepszym podsumowaniem i działa (przejdź do kroku 4):
https://phoenixnap.com/kb/how-to-commit-changes-to-docker-image#htoc-step-3-modify-the-container
Kiedy ponownie otworzysz obraz dockera w GNS3, powinieneś mieć teraz użyteczne polecenie ifconfig i wszelkie inne narzędzia lub usługi, które dodałeś do kontenera.
Cieszyć się!
sudo apt-get install iproute2, a następnie uruchom ip addr show
to działa..
RUN apt-get install -y net-tools