Como atualizar com segurança aplicações Docker baseadas em PHP no seu servidor doméstico

Eva Wong é a Redatora Técnica e e entusiasta residente na ZimaSpace. Uma geek de longa data com paixão por homelabs e software de código aberto, ela é especialista em traduzir conceitos técnicos complexos em guias acessíveis e práticos . Eva acredita que o auto-hospedagem deve ser divertida, não intimidante. Através dos seus tutoriais, ela capacita a comunidade adesmistificar configurações de hardware , desde a construção do seu primeiro NAS até dominar os contêineres Docker., from building their first NAS to mastering Docker containers.

Uma correção de segurança do PHP dentro de um contentor é normalmente disponibilizada através de uma imagem reconstruída. Transferir essa imagem e colocá-la em serviço são passos distintos. O plano de atualização também tem de proteger a base de dados e os ficheiros persistentes que permanecem após a substituição do contentor.

Faça uma cópia de segurança dos dados da aplicação, da base de dados, se aplicável, e da configuração antes de alterar a imagem. Transfira uma versão corrigida e suportada, recrie o serviço, verifique o contentor de substituição e teste a ação crítica do utilizador antes de registar a conclusão da atualização.

1. Registe a implementação atual

Confirme o diretório do projeto e os nomes dos serviços com docker compose ps. Registe as etiquetas e os IDs das imagens atuais com docker compose images, bem como a localização dos volumes persistentes e dos dados da base de dados. Guarde uma cópia protegida da configuração do Compose sem expor segredos em registos partilhados.

Consulte as notas de lançamento da imagem de destino para confirmar a correção do PHP. Uma etiqueta chamada latest não comprova a presença de uma correção específica. Se utilizar uma referência fixa por digest, esta tem de ser alterada para o digest de substituição verificado.

2. Faça uma cópia de segurança consistente

Utilize o método de cópia de segurança documentado pela aplicação. Preserve a configuração, os ficheiros e uma cópia de segurança da base de dados a partir de um ponto de recuperação consistente. Coordene a suspensão das gravações ou o modo de manutenção quando a aplicação o exigir. Uma cópia do sistema de ficheiros de um diretório de base de dados em funcionamento não substitui universalmente uma cópia de segurança válida da base de dados.

Mantenha a cópia de recuperação fora do alcance de escrita da aplicação e saiba como restaurá-la. Preserve a configuração e a referência da imagem anteriores, mas lembre-se de que restaurar uma imagem antiga e vulnerável não deve fazê-la voltar diretamente à Internet pública.

3. Transfira e recrie o serviço pretendido

Para uma imagem publicada pelo responsável pela manutenção, atualize a referência da imagem do serviço para uma versão fixa compatível e, em seguida, utilize este exemplo a partir do diretório correto do projeto. Substitua app pelo serviço da sua aplicação PHP:

docker compose pull app
docker compose up -d --no-deps app
docker compose ps
docker compose exec -T app php -v

O Docker documenta que pull transfere imagens sem iniciar contentores; up aplica alterações à imagem ou à configuração recriando os contentores. Aqui, --no-deps limita a alteração ao serviço selecionado. Utilize-o apenas quando os serviços dependentes estiverem em bom estado e forem compatíveis.

Em compilações personalizadas, atualize a imagem base PHP ou os pacotes relevantes, volte a compilar através do seu processo habitual e implemente a imagem resultante. Repita o processo para os workers que utilizem esse ambiente de execução. Não aplique correções numa shell de um contentor efémero e presuma que a correção se manterá após a recriação.

4. Valide a aplicação antes de restabelecer o acesso

Verifique os registos localmente para detetar erros de arranque, sem partilhar tokens nem caminhos privados. Confirme o ambiente de execução da Web e, em seguida, teste o início de sessão, a navegação por ficheiros, o carregamento de um ficheiro pequeno e uma tarefa em segundo plano. Verifique se os caminhos dos volumes e as permissões continuam a corresponder à estrutura pretendida.

Se o acesso público tiver sido restringido, restabeleça-o apenas depois de as verificações de versão e funcionalidade serem aprovadas. Um estado do contentor a verde, por si só, não comprova que os carregamentos ou as tarefas em segundo plano estão a funcionar.

5. Recupere deliberadamente se a validação falhar

Mantenha o serviço isolado durante a investigação. Restaure os ficheiros da aplicação e o estado da base de dados em conjunto quando as regras de migração da aplicação o exigirem; alterar apenas a imagem pode ser inseguro após uma atualização do esquema. Não utilize docker compose down -v como atalho para resolver problemas, pois pode remover volumes com nome.

Para os utilizadores do ZimaCube 2, mantenha o registo das atualizações separado dos ficheiros em massa e guarde cópias de segurança independentes. Uma atualização bem-sucedida termina com um ambiente de execução conhecido, funções da aplicação operacionais e um procedimento de recuperação que ainda consegue explicar.

Explore o NAS ZimaCube 2 Personal Cloud para armazenamento doméstico na nuvem para a sua configuração de armazenamento privado e aplicações autoalojadas. A segurança do software depende dos serviços instalados, da respetiva configuração e de atualizações verificadas.

Continue a série sobre segurança do PHP

Fontes e âmbito

Verificado a 22 de outubro de 2026. As recomendações de implementação devem ser ajustadas à aplicação e à documentação do fornecedor; estes artigos não comprovam a exposição de produtos específicos.

Suporte e Dicas

Mais para Ler

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.