1. 12
  1.  

  2. 4

    See also tini, which is basically the same thing.

    I really don’t understand why Docker integrates peripheral features like Docker Swarm, but doesn’t include baseline, important stuff like this. The basic idea of containerisation is “run each of your services as a separate container”, but the number of pre-existing services that support the responsibilities of init-hood is basically zero, and the number of developers who can teach the responsibilities of init-hood to new services is… well, not zero, but a pretty small number, globally.

    If Docker automatically wrapped every service in something like dumb-init or tini, the vast majority of services would Just Work, with fewer unexpected explosions in weird corner-cases.

    1. 1

      to their credit, I think Docker wanted to be able to support both the ‘I am a unix system’ case and the ‘I am a process’ case, so left the init system question up to implementers.

    2. 3

      You can be even dumber with sinit. Runit-init (or whole runit) is a good choice, too.

      1. 1

        Release.

        1. 2

          Done.

          1. 1

            :)