Em algum momento nos últimos dois meses, o script inicial do tutorial foi alterado para remover o loop e aguardar o início da janela de encaixe. Eu removi o loop dos meus scripts iniciados e meus contêineres agora reiniciam corretamente após a reinicialização.
Meu script /etc/init/service-name.conf agora é assim:
description "service description"
author "me"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
/usr/bin/docker start -a db5e61a9afa8
end script
Não tenho certeza do que estava errado com esse loop. Talvez estivesse apontando para o arquivo errado no meu sistema, embora eu não tenha feito nenhuma alteração na instalação padrão do docker. Por enquanto, estou feliz que a correção envolveu a remoção de código, em vez de uma solução complicada.