【发布时间】:2016-06-06 12:47:46
【问题描述】:
我正在使用 docker compose 创建相当复杂的 docker 容器基础架构。这些容器在 4 个不同的网络中运行(类似于我正在模仿的生产环境)。 Docker Compose 为我创建了这四个网络,只要容器不尝试与不同网络中的其他容器通信,一切正常。当他们这样做时,连接就会断开。 我能够找出它被丢弃的原因,这是因为 Docker 将 iptables 规则添加到 DOCKER-ISOLATION 链中。 示例:
-A DOCKER-ISOLATION -i br-be010eaddd0e -o br-f788f16ed0dd -j DROP
-A DOCKER-ISOLATION -i br-f788f16ed0dd -o br-be010eaddd0e -j DROP
我写了一个小脚本,删除了我想要删除的规则(并允许所选网桥之间的通信),一切都像一个魅力,但不知何故,它们在某些时候被 Docker 重新创建,即使没有重新创建这些网络,所以它需要我再次运行该脚本,这很烦人。 有没有办法专门告诉 Docker 允许两个网桥之间的通信?或者在使用 Docker-Compose 启动容器后运行特定的 shell 脚本可能有一些技巧?
【问题讨论】:
标签: networking docker