Melhor estratégia para implementar o Docker no Elastic Beanstalk

1

Não tenho certeza se esse é o melhor lugar para colocar essa questão. Mas por alguns dias estou lutando para encontrar um bom processo de implantação para o Elastic Beanstalk e quero saber a opinião de pessoas com mais experiência com isso.

Primeiro, meu plano era ter uma imagem do Docker genérica e vincular meu volume de código àquele, em seguida, fazer todas as instalações necessárias ao executar o contêiner.

O problema é que demora muito para instalar tudo e o EB anula a implantação com o tempo limite. Eu tentei aumentar o tempo limite, mas não funcionou (não sei por que, não demora muito para executar o contêiner localmente)

Então, minha próxima ideia era ter a imagem com tudo já pré-instalado. mas para isso eu deveria construí-lo antes e empurrar para um registro.

Ok, então decidi usar o ECR não seria um problema para isso.

Eu criei a imagem e enviei para o registro

Em seguida, criei um Dockerrun.aws.json e apontei para o meu repositório.

Depois disso, continuei recebendo o mesmo erro de tempo limite de antes.

Algumas horas depois, percebi que a AWS continuava criando o Dockerfile, mesmo tendo o Dockerrun no diretório.

Eu não entendo por que eles fazem isso, mas para consertar eu tive que mover meu Dockerfile para não ser rastreado pelo git, o que é realmente irritante.

Então, tudo bem, mas é um fluxo de trabalho ruim. Toda vez que eu atualizar algo no meu Dockerfile, eu tenho que executar tudo novamente, empurre para o ECR. E só depois disso eu posso implantar.

E se alguém quiser implantar o código, eu preciso enviar o Dockerfile manualmente, porque não posso colocá-lo no git, caso contrário, o Elastic Beanstalk tenta criá-lo.

Tenho certeza de que há um fluxo de trabalho mais fácil para isso. Alguém poderia apontar uma direção melhor nesse sentido?

    
por danielfranca 02.02.2018 / 11:54

0 respostas