Networking
pier-net
Section titled “pier-net”Pier creates a single Docker bridge network called pier-net and attaches every managed container to it. Inside the network, services reach each other by container name (Docker’s built-in DNS).
So if you have two services — app and pier-db-postgres — your app can connect with:
postgres://postgres:password@pier-db-postgres:5432/appNo port binding needed on the host.
Why not bind ports?
Section titled “Why not bind ports?”Pier does not expose container ports on the host for managed services. That avoids:
- Port conflicts across services.
- Unnecessary exposure on the host firewall.
- Needing to run Traefik at the same layer.
The only process that binds host ports 80 and 443 is Traefik itself. Everything else is internal.
Internal URLs
Section titled “Internal URLs”The Pier dashboard shows an Internal Network panel per service listing the container_name:port that other services in the project can use. Copy that directly into your application’s environment variables.
Reaching the outside
Section titled “Reaching the outside”For outbound traffic from a container, Docker handles NAT as usual — no changes required. Pier does not introduce any egress restrictions.