🚀 Deploy Contínuo de Containers
Muitas aplicações Docker são atualizadas frequentemente com novas versões e correções. Para manter seus ambientes atualizados na plataforma SaveinCloud, é recomendável realizar o redeploy dos containers sempre que novos tags forem lançados.
O redeploy permite atualizar a imagem de um container sem afetar os dados persistentes da aplicação.
🔁 Como Funciona o Redeploy
- Um novo container é criado internamente a partir da nova imagem (tag).
- Os dados personalizados do container atual são mapeados e preservados.
- O container original é parado e atualizado com os arquivos do novo.
- Um snapshot é criado antes da operação para permitir rollback em caso de falha.
💡 Se você usa múltiplas instâncias (escalabilidade horizontal), é possível atualizar cada container de forma sequencial, reduzindo ou até evitando downtime.
É de extrema importância que seja feito todos testes em um ambiente de homologação antes de incluir esse tipo de processo em um ambiente produtivo, visto que, a má configuração dos dados a ser preservados pode levar a perda de dados, para entender mais sobre como preservar dados, Leia Aqui
🖥️ Redeploy pelo Painel da SaveinCloud
- Acesse o ambiente e clique em Redeploy Container(s) no container ou camada desejada.
- Escolha o novo Tag da imagem.
- Configure as opções adicionais:
- Keep volumes data: mantém os dados persistentes (recomendado).
- Sequential deployment with delay: redeploy gradual, um a um, com delay.
- Temporarily remove node(s) from DNS: remove temporariamente do DNS durante o redeploy.
- Clique em Redeploy e confirme a operação.
🔗 Redeploy via API
Use o endpoint:
POST /1.0/environment/control/rest/redeploycontainers
Parâmetros:
envName
: nome do ambiente.session
: token de acesso.nodeGroup
: camada (opcional).nodeId
: ID do container (opcional).tag
: nova versão da imagem.useExistingVolumes
:true
para preservar volumes.login
/password
: se imagem for privada.manageDNSState
:true
para ajustar DNS durante atualização sequencial.
✅ Use
RedeployContainersByGroup
se precisar customizar delays entre containers.
Exemplo com curl
:
curl --location 'https://{{platformDomain}}/1.0/environment/control/rest/redeploycontainers' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'envName=meu-ambiente' \
--data-urlencode 'session={{session}}' \
--data-urlencode 'nodeGroup=cp' \
--data-urlencode 'tag=1.2.3' \
--data-urlencode 'useExistingVolumes=true'
🧰 Redeploy via CLI
- Liste os ambientes e containers:
~/saveincloud/environment/control/getenvs
~/saveincloud/environment/control/getenvinfo --envName meu-ambiente
- Liste as tags disponíveis para um container:
~/saveincloud/environment/control/getcontainernodetags --envName meu-ambiente --nodeId 12345
- Faça o redeploy:
~/saveincloud/environment/control/redeploycontainers \
--envName meu-ambiente \
--nodeId 12345 \
--tag 1.2.3 \
--useExistingVolumes true
🔐 Inclua
--login
e--password
se estiver usando uma imagem privada.
✅ Conclusão
Com o processo de redeploy da plataforma SaveinCloud, você consegue manter suas aplicações Docker atualizadas com segurança e flexibilidade, seja via painel, API ou CLI — mantendo os dados persistentes e com o menor downtime possível.