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

使用docker-compose指定自定义网络

使用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:
        driver: custom-driver-1
    backend:
        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

注意:

1. 必须保留并原样返回所有 [[[IMG_n]]] 占位符。