version: '3.8' networks: test-net: driver: bridge ipam: config: - subnet: 172.20.0.0/24 gateway: 172.20.0.1 services: test-dhcp-server: build: . image: dhcp-whitelist:test container_name: test-dhcp-server networks: test-net: ipv4_address: 172.20.0.2 volumes: - ./test/test-config:/config:ro environment: - TZ=UTC cap_add: - NET_ADMIN - NET_RAW test-client-allowed: build: ./test/test-client container_name: test-client-allowed networks: test-net: mac_address: "02:42:ac:11:00:02" depends_on: - test-dhcp-server command: ["/bin/sh", "-c", "sleep 5 && udhcpc -i eth0 -n -q && ip addr show eth0"] test-client-denied: build: ./test/test-client container_name: test-client-denied networks: test-net: mac_address: "02:42:ac:11:00:99" depends_on: - test-dhcp-server command: ["/bin/sh", "-c", "sleep 5 && timeout 10 udhcpc -i eth0 -n -q || echo 'DHCP request denied as expected'"]