Docker image not connecting to macvlan

I'm running docker on pi 3b and have several macvlan networks. I'm trying to run the PiHole docker image connecting to the existing macvlan network.

Host ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:de:5c:ff:65  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.28.9  netmask 255.255.255.0  broadcast 192.168.28.255
        inet6 fe80::3232:402d:aaf8:539d  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:a3:9b:78  txqueuelen 1000  (Ethernet)
        RX packets 75102  bytes 14119174 (13.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 15305  bytes 3318336 (3.1 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0.66: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.66.9  netmask 255.255.255.0  broadcast 192.168.66.255
        inet6 fe80::771d:94bf:49bb:bf4  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:a3:9b:78  txqueuelen 1000  (Ethernet)
        RX packets 9454  bytes 1326022 (1.2 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9159  bytes 1659722 (1.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0.76: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.76.9  netmask 255.255.255.0  broadcast 192.168.76.255
        inet6 fe80::22b5:e86b:5a13:5f8f  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:a3:9b:78  txqueuelen 1000  (Ethernet)
        RX packets 219  bytes 17586 (17.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 36  bytes 3508 (3.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 10  bytes 838 (838.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10  bytes 838 (838.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
9d9a2e8c019c   bridge       bridge    local
dda7db02a0c4   host         host      local
e609ec5dd85c   macvlan-28   macvlan   local
d069d49a88d1   macvlan-66   macvlan   local
99fc39f0335b   macvlan-77   macvlan   local
9c251aacc00d   none         null      local
docker network inspect macvlan-66
[
    {
        "Name": "macvlan-66",
        "Id": "d069d49a88d1b5fd0804e57c96291b90ad0ff2d887eaea8adf751388239f919c",
        "Created": "2021-03-22T16:08:04.66937887Z",
        "Scope": "local",
        "Driver": "macvlan",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.66.0/24",
                    "IPRange": "192.168.66.192/27",
                    "Gateway": "192.168.66.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "148274f6cc52bb70011949879900f01be135d86dc63efc94e8f924d34fbd26c2": {
                "Name": "pihole",
                "EndpointID": "95c0e45f5f11625df47a63d921f96ea8eb9c75471b8f89d3dfcaa5bb7d8786fb",
                "MacAddress": "02:42:c0:a8:42:c0",
                "IPv4Address": "192.168.66.192/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "parent": "eth0.66"
        },
        "Labels": {}
    }
]
PiHole docker-compose.yaml
version: '3'

services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    hostname: pihole
    # domainname:                  
    cap_add:
      - NET_ADMIN
    networks:
      macvlan-66:
        ipv4_address: 192.168.66.192
    volumes:
      - './etc-pihole/:/etc/pihole/'
      - './etc-dnsmasq.d/:/etc/dnsmasq.d/'
    # dns:
    #   - 127.0.0.1
    #   - 185.37.37.37
    #   - 185.37.39.39
    #   - 8.8.8.8
    #   - 8.8.4.4
    # ports:
    #   - "443/tcp"
    #   - "53/tcp"
    #   - "53/udp"
    #   - "67/udp"
    #   - "80/tcp"
    environment:
      net: host
      TZ: 'Europe/London'
      ServerIP: 192.168.66.192         # <-- Update (match ipv4_address)
      # VIRTUAL_HOST:   # <-- Update (match hostname + domainname)
      # WEBPASSWORD: "password"                   # <-- Add password (if required)
    restart: unless-stopped

# commented out as is already defined as external network below
# networks:
#   macvlan-28:
#     driver: macvlan
#     driver_opts:
#       parent: ovs_eth0
#     ipam:
#       config:
#         - subnet: 192.168.123.0/24            # <-- Update
#           gateway: 192.168.123.1              # <-- Update
#           ip_range: 192.168.123.192/28        # <-- Update

networks:
  macvlan-66:
    external: true

Running docker-compose runs fine, but when I visit the IP with a browser it won't load. I can ping the IP successfully.

If I run a test httpd file, it runs fine and is accessible via a browser on the IP address.

httpd docker-compose.yaml
version: '3'

services:
  httpd:
    image: httpd:latest
    container_name: httpd    
    networks:
      - macvlan-66

networks:
  macvlan-66:
    external: true

There is obviously something wrong with my PiHole compose file but I can't figure out what!

The docker-compose.yaml is cribbed from https://hub.docker.com/r/pihole/pihole and http://tonylawrence.com/posts/unix/synology/free-your-synology-ports/ as linked in the PiHole documentation.