9.2.2 networks
默认情况下,Compose为你的应用程序设置了一个单独的网络。服务的每个容器都加入默认网络,并且可以被该网络上的其他容器访问,并且可以通过与容器名称相同的主机名被它们发现。
例如,如下compose.yml配置文件存放在一个名为myapp的目录下:
当你执行docker compose up
:
创建一个名为
myapp_default
网络使用web的配置创建容器,容器以web这个名称加入网络myapp_default。
使用db的配置创建容器,容器以名称db加入网络myapp_default。
现在,每个容器都可以查找主机名web或db,并获得相应的容器IP地址。
配置自定义网络
除了使用默认的网络,你还可以使用networks关键字自定义网络。这允许你创建更复杂的拓扑并指定自定义网络驱动程序和选项。您还可以使用它将服务连接到外部创建的网络,这些网络不是由Compose管理的。
每个service都可以使用netowrks关键字指定要连接的网络。
下面的示例展示了一个Compose文件,它定义了两个网络。其中,proxy服务与db服务是隔离的,因为它们不共享公共网络;而app可以与proxy和db通信。
配置默认网络
可以通过在网络下定义一个名为default的条目来改变整个应用默认网络的设置:
使用预先存在的网络
Last updated
Was this helpful?