Neste post será apresentado como utilizar o docker na Amazon .
No futuro estarei apresentando como instalar e configurar a ferramenta em um servidor local, porém neste momento estarei falando sobre containers em cloud com uma configuração simples.
Segundo o blog Tutoriais GNU Linux :
“Docker é um projeto OpenSource que fornece uma plataforma para desenvolvedores e administradores de sistemas permitindo que se crie Containers leves e protrátil de diversas aplicações.
Sua funcionalidade permite que adicione recursos e que simplifique o uso, dos linux containers (LXC), que são, basicamente, uma forma de isolamento de processo e sistemas, quase como virtualização, porém mais leve e integrada ao host.”
Para entender melhor todo conceito básico , sugiro o link abaixo :
http://tutoriaisgnulinux.com/?p=13717
1) Cenário :
Em nosso cenário rodaremos 1 apache em cada container definido em tasks e 2 instâncias ficarão responsáveis por estes containers.
Segue abaixo um imagem de exemplo para a nossa configuração :
2) Acesse o console da Amazon e selecione a opção EC2 Container Service:
3) Criando a definição da Task :
Em nosso exemplo definimos as seguintes configurações :
* Nome da Task : console-sample-app-static
* Nome do Container : simple-app
* Nome da Imagem Utilizada : httpd:2.4
* Memória Máxima : 300 Mbs
* Port Mapping : Host 80 para o Container na 80 .
Em meu exemplo estou usando a configuração padrão, podemos usar algum repositório utilizando o exemplo :
[registry-url]/[namespace]/[image]:[tag]
4) Configurando o serviço :
Foram definidas as seguintes configurações para o serviço :
* Nome do Serviço : sample-webapp
* Número de tasks para iniciar (Desired tasks) : 1
Podemos definir no serviço a configuração da ELB em containers, quando selecionamos já temos a definição da ELB com o nome do container e porta , neste link abaixo temos referência de como funciona o serviço de containers atrás da ELB.
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html
5) Configurando o Cluster :
Para finalizar vamos definir em qual tipo de instâncias nossos containers irão rodar.
6) Definições de serviço :
Após a definição de host, container e ELB , podemos ver o serviço em funcionamento.
7) Testes Finais :
Depois de levantar nosso ambiente de containers, podemos realizar testes chamando o nome da ELB no browser :