Com o deploy por imagem imutável, recriar o contêiner é um efeito colateral da mudança de código, não algo que o deploy faz de propósito. Uma mudança que só toca configuração não tem mais nada que a aplique. Ela fica escrita no servidor, invisível, até o próximo deploy de código, que pode demorar semanas.
Apareceu enquanto movíamos um webhook de alertas do canal errado para o certo. Editamos o segredo, reiniciamos o contêiner e seguimos em frente. Um reinício reaproveita o processo com o ambiente que já tinha carregado: a variável nova nunca entrou. Percebemos antes que mordesse, revisando a mudança no mesmo dia.
A regra que saiu daí: nunca recriar na mão, mesmo quando parece mais rápido. Isso pula o CI e traz de volta exatamente a divergência entre repositório e servidor que o processo existe para eliminar. Você força um deploy pelo caminho normal.
E você verifica o efeito, não a execução. Um contêiner de pé não prova que ele pegou a variável. Compara-se quando o contêiner foi criado com quando o arquivo foi editado, e confirma-se que a variável chegou, sem imprimir seu valor.