Υπάρχει μια εντολή που μπορώ να εκτελέσω για να λάβω τη διεύθυνση IP του κοντέινερ από τον κεντρικό υπολογιστή μετά τη δημιουργία ενός νέου κοντέινερ;
Βασικά, μόλις το Docker δημιουργήσει το εμπορευματοκιβώτιο, θέλω να αναπτύξω τα δικά μου σενάρια ανάπτυξης κώδικα και διαμόρφωσης του εμπορευματοκιβωτίου.
Η επιλογή --format
της inspect έρχεται να σας σώσει.
Σύγχρονη σύνταξη του πελάτη Docker:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Παλαιά σύνταξη πελάτη Docker:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' container_name_or_id
Η οποία θα επιστρέψει μόνο τη διεύθυνση IP.
Όπως αναφέρεται στα σχόλια: αν είστε σε Windows, χρησιμοποιήστε διπλά εισαγωγικά "
αντί για απλά εισαγωγικά '
γύρω από τις αγκύλες.
Μπορείτε να χρησιμοποιήσετε το docker inspect <container id>
Παράδειγμα:
CID=$(docker run -d -p 4321 base nc -lk 4321);
docker inspect $CID
Στο Docker 1.3+, μπορείτε επίσης να το ελέγξετε μέσω των παρακάτω βημάτων:
Εισέλθετε στο τρέχον Docker (Linux):
docker exec [container-id or container-name] cat /etc/hosts
172.17.0.26 d8bc98fa4088
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.17 mysql
Για windows:
docker exec [container-id or container-name] ipconfig