Inhaltsverzeichnis

Netzwerk

Versionen

Version Bearbeiter Änderungsdatum Änderungsbemerkung
0.1 hase 11-09-2020 Seite angelegt

Docker Netzwerk

Dies ist eine allgemeine Beschreibung, wie an die Docker-Container im shack RZ Netzwerk gebracht wird.

Compose Files

Das aktuelle File ist in der Shackspace-Gruppe auf Gitlab.com zu finden. Siehe

Auf den Hosts müssen noch entsprechende Linux Bridges für die existierenden VLANs angelegt werden.

Erklärung Compose File

Version

version: '2.4'

Die Version muss eine 2er Version sein, 2.4 ist die aktuellste Version. In Docker-Compose Version 3 wurden diese Einstellungsmöglichkeiten bis jetzt nur im Swarm-Mode hinzugefügt.

networks Bereich

networks:
  docker-vmbr100:
     name: docker-vmbr100
     driver: ipvlan
     driver_opts:
       ipvlan_mode: l2
       parent: vmbr100
     ipam:
       config:
         - subnet: 10.42.0.0/20
           ip_range: 10.42.14.0/25
           gateway: 10.42.0.1

Der benutzte Treiber ipvlan in Verbindung mit ipvlan_mode: l2 erzeugt ein virtuelles Netzwerk, welches mit normalen Linux Bridges verglichen werden kann. Das virtuelle Netzwerk arbeitet auf OSI Layer 2, also auf der Ebene von Mac Adressen bzw. Ethernet Frames.

Es ist also im Grunde genommen ein ganz normaler „dummer“ Netzwerkswitch.

Im dem Baum ipam werden die grundlegenden Einstellungen des Subnetzes außerhalb des Docker angegeben. Hier müssen also Gateway sowie Subnetzmaske des externen Netzes angegeben werden. Zusätzlich kann hier noch eine Range angegeben werden. Das ist ein Filter, um IP Adresssenkonflikte entgegenwirken zu können.

services Bereich

services:
  dummy:
    container_name: network-dep-dummy
    image: williamyeh/dummy
    entrypoint: ["echo", "Networks generated"]
    networks:
      - docker-vmbr2
      - docker-vmbr100
      - docker-vmbr200
      - docker-internal
    restart: "no"

Hier wird der folgende Docker-Container benutzt: Docker Hub williamyeh/dummy

Dieser Docker Container bekommt alle Netzwerke aus dem networks-Bereich eingetragen. Dadurch werden von Docker-Compose alle Netze beim einmaligen Starten des Containers angelegt. Der Container selbst wird nur die Meldung „Networks generated“ auswerfen. Dies bedingt sich durch das Überschreiben des Entrypoints auf den cli-Befehl echo.