version: "2"

networks:
  net1: {}
  net2: {}
  net3a: {}
  net3b: {}

services:
  nginx-proxy:
    image: nginxproxy/nginx-proxy:test
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - net1
      - net2
      - net3a
      - net3b

  web1:
    image: web
    expose:
      - "81"
    environment:
      WEB_PORTS: 81
      VIRTUAL_HOST: web1.nginx-proxy.example
    networks:
      - net1

  web2:
    image: web
    expose:
      - "82"
    environment:
      WEB_PORTS: 82
      VIRTUAL_HOST: web2.nginx-proxy.example
    networks:
      - net2

  web3:
    image: web
    expose:
      - "83"
    environment:
      WEB_PORTS: 83
      VIRTUAL_HOST: web3.nginx-proxy.test
    networks:
      - net3a
      - net3b