Existem várias causas para isso. Tente executar "docker inspect ContainerName" e observe a política de reinicialização. Se ativado, isso poderia fazer com que o contêiner iniciasse na inicialização.
Além disso, funções externas como upstart, systemd e supervisord podem estar iniciando os contêineres (geralmente usados quando as funções que não são contêineres dependem da existência de um contêiner antes de iniciar). Para meu próprio equipamento, estou usando o comando monit para iniciar / reiniciar contêineres (gosto que você possa definir o número de tentativas de reinicialização antes de desistir).