Dor*_*may 6 docker docker-compose
我编写了 docker-compose.yaml 文件,其中包含 4 个网络接口,这些接口在挂载到 docker 容器时需要按特定顺序。
\nDocker 引擎版本:19.03
\nDocker-compose 版本:2.4.1
\n我们使用macvlan
驱动程序作为系统的一部分,以便在主机接口之间传输 L2 数据包。\n我们用来托管所有内容的 docker 容器基于 ubuntu:18.04
networks:\n sim1:\n name: sim1\n driver: macvlan\n driver_opts:\n parent: ens20\n macvlan_mode: bridge\n ipam:\n config:\n - subnet: 192.3.0.0/16\n ip_range: 192.3.1.0/24\n sim2:\n name: sim2\n driver: macvlan\n driver_opts:\n parent: ens21\n macvlan_mode: bridge\n ipam:\n config:\n - subnet: 192.4.0.0/16\n ip_range: 192.4.1.0/24\n sim3:\n name: sim1\n driver: macvlan\n driver_opts:\n parent: ens20\n macvlan_mode: bridge\n ipam:\n config:\n - subnet: 192.5.0.0/16\n ip_range: 192.5.1.0/24\n sim4:\n name: sim1\n driver: macvlan\n driver_opts:\n parent: ens20\n macvlan_mode: bridge\n ipam:\n config:\n - subnet: 192.6.0.0/16\n ip_range: 192.6.1.0/24\n
Run Code Online (Sandbox Code Playgroud)\n我看到有一个属性叫做:priority
,该属性允许根据您在 compose.yaml 文件上指定的指标来组织网络接口。
\n\n\n优先级指示 Compose 实现应该将 service\xe2\x80\x99s 容器连接到其网络的顺序。如果未指定,则默认值为 0。
\n
当尝试在 yaml 文件上应用此优先级功能时,我没有收到任何错误和警告,只是在 docker 端被忽略,并且在执行 ifconfig 时,我发现接口的顺序错误。
\n这是 ifconfig 的输出(过滤结果后)
\neth0: sim1\neth1: sim4\neth2: sim3\neth3: sim2\n
Run Code Online (Sandbox Code Playgroud)\neth0: sim1\neth1: sim4\neth2: sim3\neth3: sim2\n
Run Code Online (Sandbox Code Playgroud)\n我在互联网上进行了搜索,但没有任何运气,发现有很多人遇到过这个但没有任何运气。
\n\n网络应按字母顺序连接。您可以在这个要点中看到这种行为的演示。我认为问题出在您的撰写文件中。在该networks:
部分下您有:
sim3:
name: sim1
Run Code Online (Sandbox Code Playgroud)
和
sim4:
name: sim1
Run Code Online (Sandbox Code Playgroud)
sim3
请注意和的名称如何sim4
设置为sim1
。
如果您以正确的顺序使这些全部唯一并摆脱优先级设置,那么它应该按预期工作。
services:
app1:
image: nginx:latest
command: "tail -f /dev/null"
networks:
- sim1
- sim2
- sim3
- sim4
networks:
sim1:
name: sim1
driver: macvlan
driver_opts:
parent: ens20
macvlan_mode: bridge
ipam:
config:
- subnet: 192.3.0.0/16
ip_range: 192.3.1.0/24
sim2:
name: sim2
driver: macvlan
driver_opts:
parent: ens21
macvlan_mode: bridge
ipam:
config:
- subnet: 192.4.0.0/16
ip_range: 192.4.1.0/24
sim3:
name: sim3
driver: macvlan
driver_opts:
parent: ens20
macvlan_mode: bridge
ipam:
config:
- subnet: 192.5.0.0/16
ip_range: 192.5.1.0/24
sim4:
name: sim4
driver: macvlan
driver_opts:
parent: ens20
macvlan_mode: bridge
ipam:
config:
- subnet: 192.6.0.0/16
ip_range: 192.6.1.0/24
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2274 次 |
最近记录: |