Docker Compose (Portainer Stacks) - Testdeployment

polyphase

Commander
Registriert
Dez. 2010
Beiträge
2.717
Ich habe mal zum Testen, ob ich meine pihole VM ersetzen kann, das ganze versucht auf meiner Docker Maschine abzubilden.

Im Grunde nutze ich pihole als zentralen DNS Server, welcher sich die Adressen über ein Unbound+Hyperlocal holt.

Funktionieren tut das ganze auch schon, die erste Geräte nutzen das "Docker pihole".
Meine Frage ist jetzt, macht das so alles sinn, oder habe ich mir da Quatsch konfiguriert?

Aufbau:
Über macvlan bekommt der pihole container eine eigene IP, damit die Geräte direkt drauf zu greifen können und nicht über den Dockerhost gehen. Untereinander kommunizieren pihole und unbound über eine eigene bridge. Hyperlocal fehlt noch, das kommt aber noch.


Das einzige was mich stört, ist das die Bridge nach jedem beenden + starten einen neuen IP Adressbereich vergibt!



Code:
version: "3"

networks:
  ext:
    driver: macvlan
    driver_opts:
      parent: ens18
    ipam:
      config:
        - subnet: 192.168.200.1/24
          gateway: 192.168.200.1
  int:
    driver: bridge



services:
  unbound:
    container_name: unbound
    image: klutchell/unbound:latest
    networks:
      int:
    restart: unless-stopped

  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    hostname: docker_pihole
    environment:
      TZ: 'Europe/Berlin'
      WEBPASSWORD: 'test123'
    networks:
      ext:
        ipv4_address: 192.168.200.20
      int:
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    depends_on:
      - unbound
    restart: unless-stopped
 
zeig mal wenn alles an ist gerne

sudo netstat -tulpn docker network ls
und gern ein docker network inspect aufs interne und externe netz
 
  • Gefällt mir
Reaktionen: polyphase
Code:
docker network ls
NETWORK ID     NAME                          DRIVER    SCOPE
xxxxxxxxxxxx   bridge                        bridge    local
xxxxxxxxxxxx   dns_serv_ext                  macvlan   local
xxxxxxxxxxxx   dns_serv_int                  bridge    local
xxxxxxxxxxxx   host                          host      local
xxxxxxxxxxxx   nginx-proxy-manager           bridge    local
xxxxxxxxxxxx   none                          null      local

Code:
docker network inspect dns_serv_ext
[
    {
        "Name": "dns_serv_ext",
        "Id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "Created": "2022-10-12T17:04:24.327840769Z",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "192.168.200.1/24",
                    "Gateway": "192.168.200.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": {
                "Name": "pihole",
                "EndpointID": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                "MacAddress": "02:42:xx:xx:xx:xx",
                "IPv4Address": "192.168.200.20/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "parent": "ens18"
        },
        "Labels": {
            "com.docker.compose.network": "ext",
            "com.docker.compose.project": "dns_serv",
            "com.docker.compose.version": "1.27.4"
        }
    }
]


Code:
docker network inspect dns_serv_int
[
    {
        "Name": "dns_serv_int",
        "Id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "Created": "2022-10-12T17:04:24.188677661Z",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.25.0.0/16",
                    "Gateway": "172.25.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": {
                "Name": "unbound",
                "EndpointID": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                "MacAddress": "02:42:xx:xx:xx:xx",
                "IPv4Address": "172.25.0.2/16",
                "IPv6Address": ""
            },
            "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx": {
                "Name": "pihole",
                "EndpointID": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                "MacAddress": "02:42:xx:xx:xx:xx",
                "IPv4Address": "172.25.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {
            "com.docker.compose.network": "int",
            "com.docker.compose.project": "dns_serv",
            "com.docker.compose.version": "1.27.4"
        }
    }
]


netstat kann ich nicht machen, da in Ubuntu Server 22.04 das Paket fehlt und sich auch nicht über apt nachinstallieren lässt :watt:




Ich hoffe es stört sich nicht, das ich einige Dinge "geschwärzt" habe
 
Zuletzt bearbeitet:
polyphase schrieb:
netstat kann ich nicht machen, da in Ubuntu Server 22.04 das Paket fehlt und sich auch nicht über apt nachinstallieren lässt
warum kannst du net-tools nicht installieren per APT? Was kommt da fuer ein Fehler?
 
  • Gefällt mir
Reaktionen: polyphase
Oh, ok.
Hole ich morgen nach, muss jetzt auf Arbeit.
 
Zurück
Oben