Container Networking Basics
DEFAULT, RUP, se, HAR, container, ko, Docker, ke, "bridge" network, par, EK, PRIVATE, INTERNAL, IP, ADDRESS, milta hai. YE, IP, sirf, HOST, machine, ke, ANDAR, hi, valid, hota hai — OUTSIDE, WORLD, se, DIRECTLY, ACCESSIBLE, nahi, hota.
Container, se, OUTSIDE, WORLD, tak, TRAFFIC, PAHUNCHANE, ke, liye, PORT, MAPPING, (-p, flag) ki, ZAROORAT, hoti hai — YE, HOST, ke, EK, PORT, ko, container, ke, EK, PORT, se, CONNECT, kar, deta hai.
# Container ka internal IP dekho
docker inspect -f '{{.NetworkSettings.IPAddress}}' my-nginx
# Do containers same network par rakho taaki wo aapas mein baat kar sakein
docker network create my-network
docker run -d --network my-network --name app1 nginx
docker run -d --network my-network --name app2 nginx- Har container ko default bridge network par internal IP milta hai
- Port mapping (-p) se hi outside world container tak pahunch sakti hai
- Same custom network par containers ek doosre se naam se connect ho sakte hain
Container, ke, ANDAR, se, "localhost" USE, karna, HOST, machine, ko, REFER, NAHI, karta — YE, container, ke, OWN, INTERNAL, network, namespace, ko, REFER, karta hai. HOST, machine, ko, ACCESS, karne, ke, liye, SPECIAL, DNS, naam, "host.docker.internal" use, hota hai (Mac/Windows, par).
Container, ke, ANDAR, se, network, DEBUG, karne, ke, liye, "docker exec" se, "ping" "curl" ya, "nslookup" jaisi, commands, chalayi, ja, sakti, HAIN — LEKIN, MINIMAL, images, (alpine) mein, YE, tools, PEHLE, se, INSTALLED, NAHI, HOTE.
docker exec my-container ping -c 3 google.com
docker exec my-container curl -I http://other-container:3000