这个问题的解决方案是在docker-compose.yml文件中显式地声明自定义网络,而不是使用默认的桥接网络。可以像这样进行声明:
version: '3'
services:
airflow:
build: .
networks:
- my_network
...
networks:
my_network:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16
gateway: 172.28.5.254
在上面的示例中,我们声明了一个名为'my_network”的自定义网络,并为其指定了桥接驱动程序和一个可用的IP池。
同时,在Airflow容器中也需要将其连接到该网络:
version: '3'
services:
airflow:
build: .
...
networks:
- my_network
...
networks:
my_network:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16
gateway: 172.28.5.254
当运行docker-compose up
命令时,将使用这个自定义网络,并且Airflow容器将按预期工作。