Amazon EC2 Docker

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 :

docker-amazon-08

2) Acesse o console da Amazon e selecione a opção EC2 Container Service:

docker-amazon-01

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 .

docker-amazon-02

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

docker-amazon-03

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.

docker-amazon-05

6) Definições de serviço :

Após a definição de host, container e ELB , podemos ver o serviço em funcionamento.

docker-amazon-06

7) Testes Finais :

Depois de levantar nosso ambiente de containers, podemos realizar testes chamando o nome da ELB no browser :

docker-amazon-07