跳转到内容

网络

Pier 创建一个名为 pier-net 的 Docker 桥接网络,并将每一个托管容器都接入其中。在网络内部,服务之间通过容器名称互相访问(依靠 Docker 内置的 DNS)。

因此,如果你有两个服务——apppier-db-postgres——你的应用可以这样连接:

postgres://postgres:password@pier-db-postgres:5432/app

无需在主机上绑定任何端口。

对于托管服务,Pier 不会在主机上暴露容器端口。这样可以避免:

  • 服务之间的端口冲突。
  • 在主机防火墙上产生不必要的暴露。
  • 需要在同一层级运行 Traefik。

唯一绑定主机 80 和 443 端口的进程是 Traefik 本身。其他所有内容都是内部的。

Pier 仪表盘会为每个服务显示一个内部网络面板,列出项目中其他服务可以使用的 container_name:port。直接将其复制到你应用的环境变量中即可。

对于从容器发出的出站流量,Docker 会照常处理 NAT——无需任何更改。Pier 不会引入任何出口(egress)限制。