Docker Compose 网络配置
目录
Docker Compose
提供了一种方便的方式来配置网络,本文档将介绍 Docker Compose
的网络相关配置
Docker 官方文档:
- https://docs.docker.com/compose/compose-file/05-services/#network_mode
- https://docs.docker.com/compose/compose-file/06-networks
默认网络
Docker Compose
默认会创建一个以 项目名_default
为名称的网络,它使用 bridge
网络模式,并且所有容器都可以相互通信, 默认网络的配置如下:
|
|
提示:
Docker Compose
的项目名
默认以当前目录名
命名,可以使用-p
参数指定或者通过.env
文件中写入COMPOSE_PROJECT_NAME=test
自定义网络
Docker Compose
支持自定义网络
自定义网络名称
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
version: '3' services: service1: image: image1 networks: - mynet service2: image: image2 networks: - mynet networks: mynet: driver: bridge
自定义网络地址段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
version: '3' services: service1: image: image1 networks: - mynet service2: image: image2 networks: - mynet networks: mynet: driver: bridge ipam: driver: default config: - subnet: 172.16.10.0/24 gateway: 172.16.10.1
为容器固定指定 ip 地址
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
version: '3' services: service1: image: image1 networks: mynet: ipv4_address: 172.16.10.11 service2: image: image2 networks: - mynet networks: mynet: driver: bridge ipam: driver: default config: - subnet: 172.16.10.0/24 gateway: 172.16.10.1
外部网络
不同 docker-compose.yml
默认会创建不同的网络,当我们需要共用同一个网络时, 可以启用外部网络
注意: 共用的网络可以手动提前创建好, 命令
docker network create ...
, 也可以是其他services
创建的网络
以公用网络 mynet
为例
|
|