Fala aí Everton, tudo bem?
Então uma das caracteristicas de containers é que eles são efêmeros, ou seja não mantém estado. Isso ajuda bastante na parte de escalabilidade, pois como o container não mantém estado posso subir quantas instancias eu quiser.
Para migrar sua aplicação você vai ter que criar uma imagem a partir de um Dockerfile
e nesse arquivo você vai descrever o que você quer que tenha no seu container, instalar tudo o que for necessário para rodar a sua aplicação.
De fato se não fizermos nada ao encerrar e excluir um container que esteve em execução, perdemos tudo.
Mas é possível mapepar um volume para o container, esse mapeamento faz com que tudo o que o container escreva em um determinado diretório no container seja escrito no host também.
Espero ter ajudado e bons estudos.