Table of Contents
#Introduction
Docker containers are isolated. How do you need to know each container’s IP address? Docker networking is a little complicated. Containers launched by default in the “bridge network” and allowed to communicate with another container directly. Containers added to non-default networks will be able to access each other through their alias
My example
Create new network is devopsroles, run containers, and access the other containers using an alias as below:
docker network create devopsroles
docker run --net devopsroles --name nginx -d nginx
docker run --name mongodb -d mongo
docker network connect devopsroles --alias mongohost mongodb
Get a Docker Containers IP Address from the Host
How to get IP address Docker containers from the Host OS.
docker ps
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' name_or_id
The output terminal is as follows
[vagrant@localhost ~]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fc0c94f5ef9d mongo "docker-entrypoint.s…" 3 minutes ago Up 3 minutes 27017/tcp mongodb
a2b21fffc9d8 nginx "/docker-entrypoint.…" 6 hours ago Up About a minute 80/tcp nginx
[vagrant@localhost ~]$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' fc0c94f5ef9d
172.17.0.2172.18.0.2
[vagrant@localhost ~]$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' a2b21fffc9d8
172.18.0.3
[vagrant@localhost ~]$
You can use the docker network inspect command to print all containers in the given network.
docker network inspect bridge -f '{{json .Containers}}'
Get network config from the containers
docker exec -it container_name_Or_ID ip a
Conclusion
You have to Get a Docker Containers IP Address from the Host. I hope will this your helpful. Thank you for reading the DevopsRoles page!