Aprendendo e brincando com Docker pelo navegador

23/01/2020 tipsdocker

docker logo

Ter um ambiente Docker na própria máquina pode ser meio complicado em algumas situações, um exemplo disso é o caso de quem utiliza o Windows 10 Home, que não suporta a instalação típica do Docker por causa de um recurso (Hyper-V) que só é liberado na versão Pro do sistema. Claro, existem contornos e alternativas que podem ser feitas para resolver isso, mas geralmente a custo de recursos importantes para quem usa máquinas mais modestas, além também do trabalho extra que é necessário para ter tudo funcionando. E a coisa complica mais ainda ao tentar simular o cenário de vários nós (maquinas) trabalhando em conjunto…

A solução

Pois bem, existe uma alternativa bem simples, e que não custa nada, e que você pode usar direto no seu navegador! É o Play With Docker! Uma ferramenta incrível patrocinada pela própria Docker Inc.

O PWD funciona assim:

  1. Você faz login.
  2. Você clica em Start.
  3. Você é direcionado para o Playground e pronto, pode começar a criar instâncias (máquinas) e fazer o que bem entender com elas.

Algumas características do PWD

Conceito básico (e extremamente simplificado) do Docker

O Docker funciona basicamente assim: você cria imagens de suas aplicações e com essas imagens você pode criar containers sem se preocupar com o ambiente no qual eles vão estar rodando, pois os containers funcionam de forma isolada e sem interferência da máquina onde eles estão rodando, e dentro das imagens vai estar descrito tudo o que os containers vão precisar para as suas aplicações funcionarem (versões de softwares, linguagens, pacotes, etc).

Obs.: Isso não explica nem de perto todas as capacidades e vantagens do Docker, então recomendo dar uma olhada em outros artigos e até na documentação do Docker para ter uma noção melhor do que ele pode oferecer.

Iniciando um container usando uma imagem pronta

Uma imagem é uma aplicação que foi 'conteinerizada' e está pronta para virar um novo container (ou vários). Nesse exemplo vou usar uma imagem do Quick Express, que é um boilerplate para APIs REST em Node.js. Essa imagem está hospedada no Docker Hub, que é um repositório mantido pela própria Docker Inc. e que é gratuito para hospedar imagens públicas.

Iniciando o container

Pra rodar um container usando essa imagem só precisamos de um único comando:

docker run -d -p 80:3000 -e "AUTH_SECRET=mySecretKey" --name quick-express josecfreittas/quick-express

Entendendo o comando:

Verificando se o container está ativo

Você pode conferir a lista dos containers que estão sendo executados usando esse comando:

docker ps

Ao executar esse comando, o esperado é que seja listado o container que iniciamos no passo anterior.

Acessando a api

Como foi definida uma porta para expor o nosso container (80), já é possível acessar ele através da url fornecida pelo PWD:

E esse é o resultado:

Com apenas 1 comando!