Migração de Infraestrutura do Diploma Digital

Partindo da premissa que o novo ambiente(VM) na nuvem já esteja configurado com Docker e Docker Compose, siga as regras de acesso para acesso SSH para que os arquivos possam ser copiados.

Certifique-se de ter backups adequados de todos os dados e configurações antes da migração.

Subir o docker-compose na nova VM:

Certifique-se de que você tenha o arquivo do diploma docker-compose.yml na nova VM.

Obs: É necessário que seja a mesma versão de ambos serviços que rodam atualmente na sua infraestrutura.

docker-compose –f docker-compose.yml up -d

Migrar os dados dos volumes:

Execute os passos para exportar e importar os volumes.

# Exportar volumes na VM antiga

docker run --rm -v postgresql-data:/volume -v $(pwd):/backup ubuntu tar cvf /backup/postgresql-data.tar /volume

docker run --rm -v rapconector-data:/volume -v $(pwd):/backup ubuntu tar cvf /backup/rapconector data.tar /volume

# Transferir os arquivos para a nova VM (executado localmente)

scp postgresql-data.tar user@nova-vm:/path/to/backup

scp rapconector-data.tar user@nova-vm:/path/to/backup

# Importar volumes na nova VM

docker run --rm -v postgresql-data:/volume -v /path/to/backup:/backup ubuntu bash -c "cd /volume && tar xvf /backup/postgresql-data.tar --strip 1"

docker run --rm -v rapconector-data:/volume -v /path/to/backup:/backup ubuntu bash -c "cd /volume && tar xvf /backup/rapconector-data.tar --strip 1"

Verificar variáveis de ambiente e configurações:

Certifique-se de que todas as variáveis de ambiente e configurações no docker-compose.yml estão corretas e compatíveis com a nova VM.

Legenda dos comandos:

Comandos para Exportar Volumes

  1. Exportar volumes na VM antiga:

docker run --rm -v postgresql-data:/volume -v $(pwd):/backup ubuntu tar cvf /backup/postgresql-data.tar /volume

Explicação:

● docker run --rm: Cria e executa um novo container temporário que é removido após a execução.

● -v postgresql-data:/volume: Monta o volume postgresql-data do Docker no caminho /volume dentro do container.

● -v $(pwd):/backup: Monta o diretório atual do host (diretório de trabalho atual) no caminho /backup dentro do container.

● ubuntu: Usa a imagem ubuntu para criar o container.

● tar cvf /backup/postgresql-data.tar /volume: Executa o comando tar dentro do container para criar um arquivo tar (postgresql-data.tar) contendo o conteúdo do volume /volume.

Este comando cria um arquivo tar com os dados do volume postgresql-data.

  1. Transferir os arquivos para a nova VM (executado localmente):

scp postgresql-data.tar user@nova-vm:/path/to/backup

scp rapconector-data.tar user@nova-vm:/path/to/backup

Explicação:

● scp: Comando de cópia segura que transfere arquivos entre hosts em uma rede.

● postgresql-data.tar: Arquivo a ser transferido.

● user@new-vm:/path/to/backup: Destino na nova VM onde o arquivo será copiado. Substitua user pelo nome do usuário e new-vm pelo endereço da nova VM.

Comandos para Importar Volumes

  1. Importar volumes na nova VM:

docker run --rm -v postgresql-data:/volume -v /path/to/backup:/backup ubuntu bash -c "cd /volume && tar xvf /backup/postgresql-data.tar --strip 1"

Explicação:

● docker run --rm: Cria e executa um novo container temporário que é removido após a execução.

● -v postgresql-data:/volume: Monta o volume postgresql-data do Docker no caminho /volume dentro do container.

● -v /path/to/backup:/backup: Monta o diretório onde o arquivo tar foi transferido no caminho /backup dentro do container.

● ubuntu bash -c "cd /volume && tar xvf /backup/postgresql-data.tar --strip 1": Usa a imagem ubuntu para criar o container e executa o comando tar dentro do container para extrair o conteúdo do arquivo tar no volume /volume.

Este comando extrai o conteúdo do arquivo tar no volume postgresql-data.

Last updated