Well, this is still happening, but intermittently, so I looked deeper again and found "Oct 31 12:28:27 rpi4b dockerd[1287]: failed to start containerd: timeout waiting for containerd to start" in the previously attached log file. The docker.service has "Restart=60s", so dockerd does restart successfully, but in the mean time, other services that depend on docker.service (and don't specify the Restart option) fail on the dependency. Looking at containerd.service, it has: After=network.target local-fs.target Conflicts=docker.service but docker.service has no mention of containerd: After=network.target lvm2-monitor.service firewalld.service Wants=docker.socket My interpretation is that after network.target is reached, both docker.service and container.service are eligible to start, one at a time. If docker.service happens to start before containerd.service, then containerd.service will not attempt to start until docker.service exits (well in this case, fails). Should containerd.service have "Before=docker.service", in addition to "Conflicts=docker.service"? I'm giving it a try...