Çalışan docker konteynerinin IP adresi nasıl alınır

Mac için Docker kullanıyorum. Docker konteynerinde nodejs tabanlı bir mikroservis çalıştırıyorum. Node mikro hizmetini tarayıcı üzerinden test etmek istiyorum. Çalışan docker konteynerinin IP adresi nasıl alınır?

Ana bilgisayarınızdan konteynere port eşlemek istemiyorsanız, konteyner için doğrudan docker range ip'sine erişebilirsiniz. Bu aralığa varsayılan olarak yalnızca ana bilgisayarınızdan erişilir. Konteyner ağ verilerinizi kontrol edebilirsiniz:

docker inspect 

Muhtemelen filtrelemek daha iyidir:

docker inspect  | grep '"IPAddress"' | head -n 1

Genellikle, varsayılan docker ip aralığı 172.17.0.0/16dır. Her şey normalse ve herhangi bir özel ağ seçeneği belirtmediyseniz, ana bilgisayarınız 172.17.0.1 ve ilk konteyneriniz 172.17.0.2 olmalıdır.

EDIT "bash tricking" yerine docker özelliklerini kullanan daha zarif bir yol:

docker inspect -f "{{ .NetworkSettings.IPAddress }}" 
Yorumlar (12)

doğrudan konteyner içinde elde etmek istiyorsanız, şunları deneyebilirsiniz

ip a | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" | grep 172.17
Yorumlar (0)

Konteynerinizi -P bayrağı ile başlatabilirsiniz. Bu "imajınızın açık portuna rastgele bir port atar".

Docker port ile rastgele seçilen portu görebilirsiniz. Daha sonralocalhost:port` üzerinden erişim mümkündür.

Yorumlar (0)