Create bridge networks so containers communicate by service name without exposing ports.
Docker Networks
docker network create mynet
# Containers on same network reach each other by service name
docker run -d --name db --network mynet postgres
docker run -d --name webapp --network mynet myapp
# webapp reaches db at hostname: db
docker network ls
docker network inspect mynet
docker network connect mynet mycontainer
docker network disconnect mynet mycontainer
docker network rm mynet
# Drivers: bridge (default) | host | overlay (Swarm)