การหา IP Address ใน docker network

Docker 4 ก.ค. 2021

เมื่อเราสร้าง 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

แท็ก

Onyx

Just a middle-aged programmer, Can do many things but not the most.