O Docker é uma plataforma que vem ganhando cada vez mais atenção dos grandes players e caminha para tornar-se um padrão para aplicações na nuvem.
Neste tutorial vou mostrar como colocar sua aplicação no container além de explicar alguns conceitos.
Para criar seu próprio container você vai precisar de uma imagem base. Vou utilizar uma imagem oficial do Docker que já com o java e tomcat instalados:
Para baixar uma imagem do repositório utilize o comando:

docker pull [OPTIONS] NAME[:TAG]

 
Agora que temos a imagem oficial do Tomcat podemos instanciar containers a partir dela. Um conceito importante do Docker é a diferença entre containers e imagens. As imagens são imutáveis enquanto os containers são “instancias” dessa imagem. Todas as alterações no sistema de arquivos durante a execuçcão ficam no container. Após rodar um container podemos fazer o commit de suas alterações promovendo esse container para uma nova imagem.
Para rodar um container a partir da imagem utilize o comando:
 docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG…]

Como o gif acima mostra  instanciei um container passando como argumento o executável do bash para ter acesso ao prompt de comando do container. As opções -t -i permitem interagir com o container e digitar comandos diretamente.
Como podemos ver nosso container já veio com o tomcat instalado. Vamos agora fazer deploy de um aplicativo java .war diretamente na pastar webapps do tomcat.
Vou usar neste exemplo o war do jenkins fazendo o download do arquivo para a pasta webapps do tomcat.

Enquanto nossa container está rodando vamos ver como obter algumas informações sobre ele. Vamos abrir outro terminal da maquina host e digitar:
docker ps 

O comando ps mostra a lista de containers ativos com algumas informações básicas como o id, status portas etc.
Também podemos ver quais arquivos foram alterados no sistema de arquivos com o comando:
docker diff <id_do_container>

Podemos ver no diff que único arquivo adicionado foi o jenkins.war
Vamos finalizar a execução do container saindo do bash com o comando exit e fazer commit das alterações. O comando ps com a opção -a lista os containers finalizados.
Para fazer o commit e gerar uma nova imagem a partir do container digite:
docker commit <container_id> <nome_da_nova_imagem>

Agora ao digitar docker images podemos visualizar a imagem “ricardomurad/tutorial” que contém nossa aplicação instalada.
Agora com a partir do comando  “docker run -d ricardomurad/tutorial catalina.sh run” podemos instanciar quantos containers forem necessários.
Todo este processo de criação da imagem pode ser automatizado e feito a partir de um único comando.
No próximo tutorial vou mostrar como criar um Dockerfile.
Este post foi escrito primeiro em: ricardomurad.com/

Autor

Wilson Souza é Gerente de Marketing da Bluesoft. Formado e pós Graduado pela Instituição Mackenzie, possui também MBA pela FGV. Wilson tem mais de 10 anos de experiência na área de Relacionamento e Marketing, atuando em diversas áreas e segmentos do mercado.

2 Comentários

Deixe aqui o seu comentário