Beste allen,
Ik heb recent een synology diskstation aangeschaft (ds720+), en wil daar nginx in docker op draaien die vanaf mijn netwerk bereikbaar moet zijn. Omdat ik ook andere dockers wil draaien die met dezelfde ports beschikbaar moeten zijn, heb ik begrepen dat ik moet grijpen naar een ipvlan of macvlan netwerk in plaats van de standaard bridge of host netwerken.
Op dit moment heb ik de nginx docker in 2 netwerken draaien. Een bridge zodat deze intern kan verwijzen naar andere docker images waar ik o.a. database servers, specifieke sites, services, etc. in draai die niet van buitenaf beschikbaar hoeven te zijn. En een macvlan die wel van buiten beschikbaar is.
In docker-compose heb ik de volgende 2 netwerken gedefinieerd:
De nginx docker heeft een static adres (ipv4_address: 192.168.10.2) gedefinieerd.
Echter als ik nu op het apparaat zelf ping of traceroute naar 192.168.10.2 dan wordt deze niet gevonden. Maar als ik ping naar 192.168.100.2 (die de container automatisch toegewezen heeft gekregen) krijg ik wel antwoord.
Ik had begrepen dat het bridge network eigenlijk niet bereikbaar zou moeten zijn vanaf 'buiten' het eigen network; en ik zou verwachten de macvlan wel. Maar het lijkt nu andersom te zijn. Komt het misschien doordat ik de parent op eth1.10 zet? (dus eth1 met vlan tag 10)
Kan iemand me helpen begrijpen wat ik hier fout doe?
Ik heb recent een synology diskstation aangeschaft (ds720+), en wil daar nginx in docker op draaien die vanaf mijn netwerk bereikbaar moet zijn. Omdat ik ook andere dockers wil draaien die met dezelfde ports beschikbaar moeten zijn, heb ik begrepen dat ik moet grijpen naar een ipvlan of macvlan netwerk in plaats van de standaard bridge of host netwerken.
Op dit moment heb ik de nginx docker in 2 netwerken draaien. Een bridge zodat deze intern kan verwijzen naar andere docker images waar ik o.a. database servers, specifieke sites, services, etc. in draai die niet van buitenaf beschikbaar hoeven te zijn. En een macvlan die wel van buiten beschikbaar is.
In docker-compose heb ik de volgende 2 netwerken gedefinieerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| networks: macvlan_network: name: macvlan_network driver: macvlan ipam: config: - subnet: 192.168.10.0/24 ip_range: 192.168.10.1/24 gateway: 192.168.10.1 driver_opts: parent: "eth1.10" external: false macvlan_bridge: name: macvlan_bridge driver: bridge ipam: config: - subnet: 192.168.100.0/24 ip_range: 192.168.100.1/24 gateway: 192.168.100.1 external: false |
De nginx docker heeft een static adres (ipv4_address: 192.168.10.2) gedefinieerd.
Echter als ik nu op het apparaat zelf ping of traceroute naar 192.168.10.2 dan wordt deze niet gevonden. Maar als ik ping naar 192.168.100.2 (die de container automatisch toegewezen heeft gekregen) krijg ik wel antwoord.
Ik had begrepen dat het bridge network eigenlijk niet bereikbaar zou moeten zijn vanaf 'buiten' het eigen network; en ik zou verwachten de macvlan wel. Maar het lijkt nu andersom te zijn. Komt het misschien doordat ik de parent op eth1.10 zet? (dus eth1 met vlan tag 10)
Kan iemand me helpen begrijpen wat ik hier fout doe?