1
resposta

Como subir a aplicação no aws BeanStalk - Utilizando Docker Compose?

Olá fiquei com duvida no seguinte processo, no exemplo do curso foi realizado o deploy para o aws beanstalk apenas de uma imagem do DockerFile, como seria o exemplo se caso estivessemos utilizando o docker compose e referenciando mais de um dockerfile ?

1 resposta

Olá, Jailson!

Quando você está lidando com múltiplos contêineres, o Docker Compose é uma ferramenta excelente para orquestrar tudo isso localmente. No entanto, para o Elastic Beanstalk, o processo é um pouco diferente, pois ele não suporta diretamente arquivos docker-compose.yml. Em vez disso, você pode usar um arquivo chamado Dockerrun.aws.json para definir a configuração dos seus contêineres.

Aqui está um exemplo básico de como você pode configurar o Dockerrun.aws.json para múltiplos contêineres:

{
  "AWSEBDockerrunVersion": 2,
  "containerDefinitions": [
    {
      "name": "web",
      "image": "seu-repositorio/seu-web-container:latest",
      "essential": true,
      "memory": 128,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80
        }
      ]
    },
    {
      "name": "db",
      "image": "seu-repositorio/seu-db-container:latest",
      "essential": true,
      "memory": 128
    }
  ]
}

Neste exemplo, substitua "seu-repositorio/seu-web-container:latest" e "seu-repositorio/seu-db-container:latest" pelas imagens dos seus contêineres. O containerDefinitions é uma lista onde você pode definir cada contêiner que deseja executar, especificando detalhes como a imagem, portas, e memória.

Após criar o arquivo Dockerrun.aws.json, você pode fazer o deploy no Elastic Beanstalk usando a AWS CLI ou o console da AWS, criando um novo ambiente ou atualizando um existente.

Bons estudos!