dhcpcd daemon will come up on a fresh reboot. I have about 8-10 docker containers running in several docker-compose projects. If I shut down all containers before rebooting the Pi then everything is working fine and the daemon is coming up.

Problem occurs every time the DHCP lease duration expires (4h by default). So dhcpd service crashes and the Raspberry Pi became offline but stays powered on. Looks like dhcpcd fails if there are too many network (virtual) interfaces. syslog:

Aug 13 09:49:22 hudson dhcpcd[427]: eth0: no global addresses for default route
Aug 13 09:49:22 hudson kernel: [ 15.169474] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.eth0.retrans_time - use net.ipv6.neigh.eth0.retrans_time_ms instead
Aug 13 09:49:54 hudson dhcpcd[632]: route socket overflowed - learning interface state

One possible solution is to exclude the virtual container interfaces from dhcpcd.

sudo nano /etc/dhcpcd.conf

Add the below line at the top of the file.

denyinterfaces veth*


sudo systemctl daemon-reload
sudo systemctl restart dhcpcd