Subject: Re: bug#55936: dockerd fails to start on boot

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 13 Jul 2022 17:06:56 -0400

Hi,

Maxim Cournoyer <[email-masked]> writes:

> Hi Oleg,
>
> Oleg Pykhalov <[email-masked]> writes:
>
>> Fixes <https://issues.guix.gnu.org/38432>.
>>
>> * gnu/packages/patches/containerd-create-pid-file.patch: New file.
>> * gnu/local.mk (dist_patch_DATA): Add this.
>> * gnu/packages/docker.scm (containerd)[source]: Add this patch.
>> * gnu/services/docker.scm
>> (containerd-shepherd-service): Add #:pid-file and #:pid-file-timeout.
>> * gnu/services/docker.scm (docker-shepherd-service): Add --containerd flag.
>
> Thanks for this, it looks promising!
>
> Before we go forward though, had you consider using a
> 'make-systemd-constructor' as now available in Shepherd 0.9+ ?  I
> remember Docker supports systemd socket activation for synchronizing its
> services; it could be a simpler, no-code solution.

I've researched more on the topic, and it appears what I had on mind is
rather systemd's socket *notification* (what they call 'sdNotify')
rather than activation.  Activation is just to lazy start things... it
probably wouldn't help here, rather it seems it'd be a bad idea, as
realized elsewhere [0].

[0]  https://github.com/containerd/containerd/issues/164#issuecomment-657536515

All that to say that I shall be reviewing your patches shortly :-).

Thank you,

Maxim