Pular para o conteúdo principal

Docker - Utilizando o Play with Docker

O Play with Docker é uma ferramenta cloud que permite a criação de containers fornecendo toda a  infraestrutura, nela podemos criar instâncias de máquinas e diferentes ambientes utilizando Docker e Swarm.

Conhecendo o Play with Docker

A Docker criou uma ferramenta chamada Play with Docker, dentro dela encontramos Tutorias, ambiente interativo, e vários treinamentos e livros para estudos.

O Lab Environment é o ambiente interativo que permite criar e executar containers similar ao que faríamos no Docker Desktop, nele podemos realizar:
  • Estudos com Docker (Comandos, Containers, etc);
  • Testes em containers variados;
  • Provas de conceito antes de executar em um ambiente real de produção.
Para podermos utilizar esta ferramenta, antes temos que criar uma Docker ID, este cadastro nos permite utilizar varias ferramentas da Docker, tais comoPlay with Docker, Docker Hub, entre outras.

Características do Play with Docker

Após efetuar o login no Lab Environment, temos a seguinte interface:


Interface inicial do Play with Docker

Todo acesso nesta interface é baseada na criação de uma Sessão,  onde cada sessão possui um tempo de expiração de 4 horas, isso significa que o ambiente ficará ativo por este período, por esta razão que esta ferramenta deve ser utilizada exclusivamente para estudos e testes.

A Sessão será encerrada caso você clique no botão Close Session ou o termine o tempo, vale lembrar que todas as instâncias serão removidas com esta operação.

Na interface temos a opção de templates, que nos fornece templates para criação automática de clusters Docker Swarm, já definindo Managers e Workers, e poupando o trabalho da execução dos comandos de criação do cluster.

Criando a Primeira Instância

A criação dos containers depende de uma instância/node, que básicamente é uma máquina virtual que será criada e vinculada a sua sessão.

Após clicar em ADD NEW INSTANCE, temos o seguinte resultado:

Criação de uma instância no ambiente.

Aqui temos os seguintes dados:
  • ID da Instância;
  • IP, todas as instâncias estarão em uma mesma rede;
  • Uso de memória e CPU;
  • Acesso através de SSH (Assim podemos conectar ao ambiente através da nossa máquina local ou docker-machine).

Criando um Container com Tomcat e JDK 14

Como primeiro exemplo, iremos criar um container baseado no Tomcat 9.0 rodando no OpenJDK 14, que até o momento é ultima versão do Java SE.

Para encontrar imagens basta acessar o Docker Hub (principal repositório de imagens Docker) e realizar uma pesquisa pela ferramenta desejada, muitas possuem imagens oficiais e também existem opções publicadas pelos usuários da comunidade.

Resultado da pesquisa por Tomcat no Docker Hub.

Vamos efetuar o pull da imagem:

docker pull tomcat:9.0.34-jdk14-openjdk-oracle

Criação do container com o nome tomcatJDK14, e com a flag -d para que rode em modo daemon:

docker run --name tomcatJDK14 -d -p 8080:8080 tomcat:9.0.34-jdk14-openjdk-oracle

Após criar o container podemos acessar o recurso através do browser, o Play with Docker cria automaticamente um acesso as portas expostas na criação dos containers, e caso não seja criado, podemos criar através da opção Open Port.
Porta do Tomcat exposta para acesso.

Ao acessar o Tomcat vemos uma tela de 404, este é comportamento padrão desse container, que significa que não temos nenhuma aplicação rodando no contexto, mas o Tomcat esta funcionando normalmente.

Acesso na url que expõem a porta 8080 do Tomcat

Criando um Container NGINX

Como segundo exemplo iremos criar um container com o servidor web nginx, este é um servidor que vem sendo muito utilizado por sua performance e simplicidade nas configurações.

Resultado da pesquisa por NGINX no Docker Hub.

Vamos efetuar o pull da imagem, neste caso não vamos especificar a tag (padrão latest):

docker pull nginx

Criação do container com o nome nginxWeb, e com a flag -d para que rode em modo daemon:

docker run --name nginxWeb -d -p 80:80 nginx

Agora nas opções de acesso, temos a porta 80 do nginx exposta junto com a 8080 do Tomcat:

Portas dos serviços do NGINX e Tomcat expostas.

Ao acessar o serviço do nginx temos o seguinte resultado:

Acesso ao container do nginx.

Conclusão

Com Play with Docker podemos montar desde ambientes simples com somente um container, até ambientes complexos com cluster swarm com replicas e serviços globais, é uma ótima ferramenta para testes e estudos das características dos containers Docker.

Referências



Comentários

Postagens mais visitadas do Blog