互联网技术 / 互联网资讯 · 2023年11月21日 0

Docker教程:使用docker-compose指定自定义网络

docker-compose可以使用默认的应用程序网络,也可以使用顶级networks密钥指定自己的网络。这使您可以创建更复杂的拓扑并指定自定义网络驱动程序和选项。您还可以使用它将服务连接到不受Compose管理的外部创建的网络。

每个服务都可以使用服务级别networks密钥指定要连接的网络,该服务级别密钥是引用顶级networks密钥下条目的名称的列表。

这是一个示例Compose文件,定义了两个自定义网络。该Proxy服务与该服务是隔离的db,因为它们不共享公共网络-只能app与两者通信。

“`
version: “3”
services:
Proxy:
build: ./Proxy
networks:
– frontend
app:
build: ./app
networks:
– frontend
– backend
db:
image: postgRes
networks:
– backend
networks:
frontend:
# use a custom driver
driver: custom-driver-1
backend:
# use a custom driver which takes special options
driver: custom-driver-2
driver_opts:
foo: “1”
bar: “2”
“`

通过为每个连接的网络设置IPv4_address和/或IPv6_address,可以为网络配置静态IP地址。

也可以为网络指定一个自定义名称(从3.5版开始):

“`
version: “3.5”
networks:
frontend:
name: custom_frontend
driver: custom-driver-1
“`