การหา IP Address ใน docker network

การหา IP Address ใน docker network

เมื่อเราสร้าง docker dev env หรือเมื่อเราใช้งาน docker หลายๆ ตัวพร้อมๆ กัน แล้วต้อการที่จะให้ แต่ละตัวสามารถติดต่อเข้าถึงกันได้ เราสามารถ

ในตอนที่สร้าง network ให้ทำให้อยู่ในวงเดียวกัน

จากนั้นให้คำสั่งนี้เพื่อหา IP Address ของ docker แต่ละตัว

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} %tab% {{.Name}}' $(docker ps -aq
) | sed 's#%tab%#\t#g' | sed 's#/##g' | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n

หรือจะทำเป็น alias เพื่อจะสามารถเอาไปใช้งานใน ~/.zshrc หรือ ~/.bash_profile

docker-ips() {   docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} %tab% {{.Name}}' $(docker ps -aq) | sed 's#%tab%#\t#g' | sed 's#/##g' | sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n }

เอาต์พุตถูกจัดเรียงตาม IP

# docker-ips

172.30.0.2       postgresql.dev
172.30.0.3       mosquitto.dev
172.30.0.4       nodered.dev

ที่มา: https://stackoverflow.com/a/63023383/1474559