Docker containers not starting at boot

Hi there,

On one of my Docker servers that is physical, I have an issue by reboot: some containers that are meant to restart automatically with restart “always” are not.

By looking at logs of docker service, I have the following message for all 3 of them:

dockerd

time=“2025-05-15T17:33:11.641164250+02:00” level=warning msg=“Failed to send unsolicited ARP” eid=1b8ca3a28f8eb8dda91f1d917c65c8d9f0f175f69940b91f8c001cb29e0ba670 ep=my-docker-name error=“no buffer space available” iface=eth0 ifi=18 ip4=192.168.X.X/24 ip6=“” mac=“86:xx:xx:xx:xx:xx” mcastRouteOk=true net=my_lan nid=8587385e7231798061efb1ca245a84583a25fd7a4a22271df43806a93af258d7

This wasn’t always like that, it was working a couple of months ago so I don’t know what changed except some updates. Same configuration/container/app with Docker on an Almalinux VM doesn’t have this issue at boot (I have a couple of them, none is impacted)

Almalinux version: AlmaLinux 9.5 (fully patched as today)
Hardware: Minisforum MS01 / Intel Corporation Ethernet Controller X710 (integrated NICs)
Network config: LACP trunk with several vlans
All containers are using macvlan IPs on differents VLANs/subnets

Containers starts without any issue right after boot, but I have to start them manually.

Thanks in advance for you help! :wink::ok_hand:

A little bump… anyone? :wink:

Could be timing. The (physical) network takes a while a get up. Perhaps the Docker starts before everything it needs is ready?

An example of how I delay a service:

# cat /etc/systemd/system/kadmin.service.d/override.conf 
# Ansible managed
[Unit]
After=dirsrv@ldap1.service

The above config postpones the start of ‘kadmin.service’ until after ‘dirsrv@ldap1.service’.


NetworkManager-wait-online.service might be the service that – when “started” – means that all normal network bits are ok. (If is Docker already set to wait for that or something similar, then I have no idea what to test next.)

Hi @jlehtone

Thanks for you answer. At some point, this is also what I’m thinking, but I don’t know which service(s) I should add to the dependency list. Adding NetworkManager-wait-online.service didn’t solve the issue unfortunatelly.

Here the current list of docker dependencies including the one just added):

I’m open to any suggestion! :laughing:

PS: restarting the docker service start all the “always” restarting docker containers.

Also, if I don’t stop any of the containers (there is around 50 on this host), a part of them will be started, so it confirms somehow that “something” needs to be ready for docker, but is not when docker service boots