Show pageOld revisionsBacklinksExport to PDFBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Reelles VLAN für Docker Container ====== Diese Anleitung soll helfen, ein am Docker Host anliegendes VLAN für Docker Container verfügbar zu machen. Dadurch können die Container komplett in das Netzwerk eingebunden werden. Einzelne Port-Freigaben für Container werden nicht mehr benötigt. Eine Doppelbelegung von Ports kann so vermieden werden. ===== Anlegen des VLAN auf dem Host ===== ==== Konfigurationsdatei erstellen (netplan) ==== In dieser Anleitung soll das VLAN mit der ID ''2'', anliegend auf dem Interface ''enp2s0f0'' für Dockercontainer verfügbar gemacht werden. <code> sudo vi /etc/netplan/mynetplan-config.yaml </code> Inhalt von ''mynetplan-config.yaml'' <code yaml> network: version: 2 ethernets: enp2s0f0: {} vlans: vlan.4: id: 4 link: enp2s0f0 dhcp4: no addresses: [192.168.3.9/24] gateway4: 192.168.3.1 nameservers: addresses: [192.168.3.1] vlan.2: id: 2 link: enp2s0f0 dhcp4: no addresses: [192.168.1.10/24] gateway4: 192.168.1.1 nameservers: addresses: [192.168.1.1] </code> Konfiguration übernehmen ''sudo netplan apply'' ==== Konfigurationsdatei erstellen (Synology NAS) ==== In dieser Anleitung soll das VLAN mit der ID ''2'', anliegend auf dem Interface ''bond0'' für Dockercontainer verfügbar gemacht werden. <code> cd /etc/sysconfig/network-scripts sudo vi ifcfg-bond0.2 </code> Inhalt von ''ifcfg-bond0.2'' <code> DEVICE=bond0.2 VLAN_ROW_DEVICE=bond0 VLAN_ID=2 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.10 NETMASK=255.255.255.0 </code> Netzwerkdienste neustarten ''sudo /etc/rc.network restart'' ==== MACVLAN erstellen ==== <code> ip link del MYLAN ip link add MYLAN link bond0.2 type macvlan mode bridge ip addr add 192.168.1.80/32 dev MYLAN ip link set MYLAN up ip route add 192.168.1.80/28 dev MYLAN </code> ===== Docker Netzwerk erstellen ===== <code> docker network create -d macvlan \ --subnet=192.168.1.0/24 \ --gateway=192.168.1.1 \ --ip-range=192.168.1.80/28 \ --aux-address 'host=192.168.1.80' \ -o parent=bond0.2 MYLAN </code> ====== Testen ====== <code> $ docker run --rm -itd \ --network MYLAN \ --name my-alpine \ alpine:latest \ ash </code> Netzwerk vom neuen Container prüfen: <code>docker container inspect my-alpine ...truncated... "Networks": { "MYLAN": { "IPAMConfig": null, "Links": null, "Aliases": [ "12f5c3c9ba5c" ], "NetworkID": "c6203997842e654dd5086abb1133b7e6df627784fec063afcbee5893b2bb64db", "EndpointID": "aa08d9aa2353c68e8d2ae0bf0e11ed426ea31ed0dd71c868d22ed0dcf9fc8ae6", "Gateway": "192.168.1.1", "IPAddress": "192.168.1.81", "IPPrefixLen": 24, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:10:56:02", "DriverOpts": null } } ...truncated </code> ====== Quellen ====== * http://www.stueben.de/mehrere-vlans-mit-einem-netzwerkadapter-auf-der-synology/ * https://docs.docker.com/network/network-tutorial-macvlan/ Last modified: 5 years agoby koechr