Pular para o conteúdo principal

Brinque com o Docker: Execute contêineres de graça no seu navegador

Aprenda a usar o Docker no seu navegador com o Play with Docker. Execute contêineres, crie Dockerfiles e use o Docker Compose com este playground online do Docker.
Atualizado 23 de jan. de 2026  · 12 min lido

Imagina montar um cluster Docker Swarm com vários nós em segundos, sem precisar instalar nada no seu laptop. Durante anos, vi desenvolvedores se esforçando com instalações do Docker, lidando com dependências do sistema, resolvendo erros de permissão e se preocupando se o hardware antigo deles aguentaria as demandas de recursos. 

Então descobri o Play with Docker, e isso mudou completamente a forma como ensino e aprendo sobre conteinerização.

O Play with Docker é uma sandbox gratuita baseada em navegador que te dá acesso instantâneo a máquinas virtuais Alpine Linux, onde você pode criar e executar contêineres Docker. Seja você um profissional júnior de dados que está começando sua jornada na conteinerização ou um profissional experiente que quer testar rapidamente um novo recurso do Docker, o PWD oferece um ambiente acessível e sem riscos. 

Neste tutorial completo, vou te mostrar tudo, desde o seu primeiro contêiner até a orquestração de vários contêineres com o Docker Compose. No final, você vai ter um servidor web em contêiner funcionando sem precisar sair do seu navegador.

Se você é novo no Docker e seus conceitos, recomendo fazer nosso Introdução ao Docker ou estudar Conceitos de conteinerização e virtualização.

O que é o Play With Docker?

O Play with Docker (PWD) é um playground temporário e gratuito do Docker que rola direto no seu navegador. Criado pelos capitães do Docker Marcos Liljedhal e Jonathan Leibiusky, o PWD surgiu de um projeto de hackathon e rapidamente se tornou uma ferramenta essencial para a comunidade Docker.

Basicamente, o PWD usa a tecnologia Docker-in-Docker (dind), onde os contêineres Docker rodam dentro de outros contêineres Docker. Essa arquitetura aninhada pode parecer complexa, mas é ela que permite que você experimente todas as funcionalidades do Docker, incluindo recursos avançados como clusters Swarm com vários nós, sem afetar sua máquina local. 

A plataforma cuida de toda a complexidade nos bastidores, apresentando a você uma interface de terminal simples. Ele oferece instâncias Alpine Linux, distribuições Linux leves perfeitas para cargas de trabalho em contêineres. O Alpine é bem minimalista, com um tamanho de imagem base de só uns 5 MB, comparado com os mais de 100 MB do Ubuntu. 

Essa eficiência significa downloads mais rápidos e tempos de inicialização mais curtos. Cada instância vem com uma experiência completa de terminal, oferecendo o mesmo poder de linha de comando que você teria em uma instalação local, incluindo um shell, Docker CLI e Docker Compose.

O PWD elimina as barreiras de instalação para iniciantes, ao mesmo tempo em que oferece aos usuários avançados um espaço para testar recursos de orquestração, como o Docker Swarm. Você pode criar clusters com vários nós, experimentar configurações de rede e testar o agendamento de contêineres, tudo isso sem a sobrecarga de gerenciar máquinas virtuais ou instâncias em nuvem.

Brincar com o Docker vs Docker Desktop

Com uma compreensão clara do que o PWD oferece, você provavelmente está se perguntando quando usá-lo em vez de instalar o Docker Desktop localmente. Entender quando usar o Play with Docker em vez do Docker Desktop vai te poupar tempo e frustração.

O Play with Docker oferece acesso instantâneo pelo navegador, sem precisar instalar nada, sem usar recursos locais e com suporte total ao Docker Swarm, tudo de graça. Mas, as sessões duram só duas horas antes de tudo ser apagado, o desempenho é limitado e não tem armazenamento persistente depois que a sessão acaba.

Observação: A documentação do PWD mostra uma duração de sessão de quatro horas, mas quando eu testei, na verdade foram apenas duas horas. Parece que a documentação não está atualizada.

O Docker Desktop roda localmente na sua máquina, oferecendo armazenamento persistente, melhor desempenho e integração perfeita com ferramentas de desenvolvimento como o Visual Studio Code. Você pode trabalhar em projetos de longo prazo sem se preocupar com o tempo de sessão ou com os limites de.

Recurso

Brinque com o Docker

Docker Desktop

Configuração

Sem instalação, baseado no navegador

Precisa instalar

Duração da sessão

Limite de 2 horas

Sem limites de tempo

Desempenho

Recursos compartilhados, limitados

Recursos completos do sistema

Armazenamento

Temporário, apagado depois da sessão

Persistente no disco local

Custo

De graça

De graça pra uso pessoal; pago pra empresas.

Impacto no sistema

Nenhum (baseado na nuvem)

Usa CPU e memória locais

Suporte ao enxame

Suporte nativo

Precisa de configuração extra

Integração IDE

Nenhum

Ótimo (VS Code, etc.)

Quando usar o Play With Docker

O Play with Docker é ótimo nos seguintes cenários: 

  • Testes pontuais 
  • Seguindo os tutoriais
  • Trabalhando em laptops com especificações baixas ou Chromebooks
  • Compartilhando URLs de sessões ao vivo com colegas de equipe para depuração ou demonstrações

Quando usar o Docker Desktop

O Docker Desktop se torna essencial para 

  • Trabalho diário de desenvolvimento
  • Integração IDE
  • Projetos que duram semanas ou meses
  • Trabalhos que exigem muitos recursos e precisam de redes e volumes personalizados

Começando a brincar com o Docker

Agora que você já sabe quando o PWD é a ferramenta certa para suas necessidades, vamos configurar e começar sua primeira sessão.

Configurando o Play com o Docker

Antes de começar, você vai precisar de uma conta no Docker Hub. Dá uma olhada no Docker Hub para criar um. Se você ainda não tem, é só colocar um e-mail e uma senha.

Brinque com o Docker Login

Brinque com o Docker Login

Vá até o site site Play with Docker e faça login usando suas credenciais do Docker Hub. Depois de se autenticar, clique no botão verde “Iniciar” para gerar sua sessão. Em segundos, o PWD disponibiliza um novo ambiente Alpine Linux no seu navegador com um cronômetro mostrando as duas horas restantes da sua sessão.

A interface PWD é simples, mas poderosa. Clique em “Adicionar nova instância” para criar novos contêineres Alpine Linux. Você pode rodar até 5 instâncias ao mesmo tempo pra testar clusters com vários nós. A janela principal do terminal oferece um shell bash completo com o Docker já instalado. 

Fica de olho no cronômetro. Quando chega a zero, tudo é apagado, sem como estender a sessão.

Painel no Play com o Docker

Painel no Play com o Docker

Dica: As operações padrão de colar ( Ctrl+V ) muitas vezes não funcionam no PWD. Use Ctrl+Insert para copiar e Shift+Insert para colar. Teste seu atalho de colar imediatamente para evitar frustrações.

Operações principais em ação com o Docker

Com seu ambiente PWD pronto e a interface familiar, é hora de rodar seu primeiro contêiner e aprender os comandos essenciais do Docker.

Executando seu primeiro contêiner

Vamos implantar um servidor web Nginx para entender imagens e contêineres. Execute este comando:

docker run -d -p 80:80 nginx

Eis o que acontece: docker run cria e inicia um novo contêiner. A flag ` -d ` faz com que ele rode no modo destacado (em segundo plano). O arquivo ` -p 80:80 ` mapeia a porta 80 no host para a porta 80 no contêiner. ` nginx ` é o nome da imagem do Docker.

Pense numa imagem do Docker como uma receita. A receita do Nginx nesse caso. O recipiente em execução é o bolo que você faz com essa receita. Você pode fazer vários bolos (recipientes) a partir de uma receita (imagem).

Para gerenciar seu contêiner:

docker ps              # Show running containers
docker stop <id>       # Stop a container
docker rm <id>         # Remove a stopped container

Você só precisa dos primeiros caracteres do ID do contêiner. O Docker descobre qual deles você quer dizer.

Reencaminhamento de porta no Play com o Docker

O encaminhamento de porta no PWD funciona de maneira diferente do encaminhamento de porta local. Quando você expõe uma porta, o PWD cria automaticamente uma URL dinâmica para acesso.

Depois de rodar o contêiner Nginx, dá uma olhada na parte de cima da tela do seu PWD, em IP. Clique em “Abrir porta” e adicione “80”. Vai abrir uma nova aba do navegador com um URL único, tipo http://ip-.direct.labs.play-with-docker.com.

Encaminhamento de porta em ação com o Docker

Encaminhamento de porta em ação com o Docker

Você não está acessando o localhost aqui. O PWD cria URLs especiais que direcionam o tráfego da Internet para o seu contêiner específico. Isso quer dizer que você pode compartilhar esses URLs com seus colegas para mostrar seu trabalho em tempo real.

Depuração e inspeção

Se as coisas não funcionarem como esperado, você vai precisar de ferramentas para investigar o que está acontecendo dentro dos seus contêineres.

Ao resolver problemas, esses comandos ajudam você a dar uma olhada dentro dos contêineres:

docker logs <container-id>         # View container output
docker ps                          # Show running container status  
docker inspect <container-id>      # Get detailed JSON configuration

Execute docker logs depois de clicar no link da porta 80 e você verá a solicitação do seu navegador nos logs de acesso do Nginx. Esse feedback em tempo real ajuda você a entender o fluxo de solicitações em seu aplicativo.

Logs do Docker em ação com o Docker

Logs do Docker em ação com o Docker

Depois de dominar essas operações básicas, você estará pronto para ir além da execução de imagens pré-construídas e começar a criar seus próprios contêineres personalizados.

Criando imagens e gerenciando dados no Play com o Docker

Agora que já falamos sobre as operações básicas do contêiner, vamos ver como criar suas próprias imagens personalizadas. É aqui que o verdadeiro poder do Docker aparece. A capacidade de empacotar seus aplicativos com todas as suas dependências em imagens portáteis e reproduzíveis.

Escrevendo um Dockerfile básico

Os Dockerfiles automatizam a criação de imagens por meio de instruções em texto. Em vez de configurar manualmente um contêiner toda vez, você escreve um Dockerfile uma vez e o Docker cuida do resto. 

Crie um Dockerfile no Play com o Docker

Crie um Dockerfile no Play com o Docker

Primeiro, crie o Dockerfile no terminal:

touch Dockerfile

Depois, clica no botão “Editor” no PWD e adiciona uma imagem simples:

FROM alpine
CMD ["echo", "Hello DataCamp"]

Por fim, crie e execute o Dockerfile. O -t nomeia (ou “marca”) sua imagem, facilitando a referência. . diz ao Docker para usar o diretório atual como contexto de compilação, o lugar onde o Docker encontra o Dockerfile e todos os arquivos que precisa. Você vai ver o Docker executar cada instrução e mostrar os IDs das camadas.

docker build -t my-first-image .
docker run my-first-image

Crie uma imagem Docker no Play com o Docker

Crie uma imagem Docker no Play com o Docker

Você vai ver “Olá, DataCamp” impresso. Parabéns! Você criou sua primeira imagem personalizada! Esse exemplo simples mostra o fluxo de trabalho básico: escrever instruções, criar uma imagem, executar um contêiner.

Mas tem um desafio importante que a gente precisa resolver: o que acontece com seus dados quando os contêineres param ou são apagados?

Persistência de dados no Play com o Docker

Entender a persistência de dados é essencial pra trabalhar de forma eficaz com contêineres. Por padrão, os contêineres são efêmeros por padrão: quando você exclui um contêiner, todas as modificações de arquivos, todos os registros do banco de dados e todas as entradas de log desaparecem na hora. 

Isso pode parecer complicado, mas na verdade é uma das principais características do Docker. Os contêineres efêmeros são fáceis de substituir, dimensionar e depurar porque são descartáveis.

Mas e os dados que você precisa guardar? É aí que entram os os volumes do Docker entram em cena. Um volume é uma área de armazenamento gerenciada pelo Docker que fica fora do sistema de arquivos do contêiner. Pense nisso como um pen drive que você pode conectar em diferentes dispositivos. Os dados ficam na unidade mesmo quando você a desconecta de um recipiente e conecta em outro.

Contêiner Docker vs. Volume Docker

Contêiner Docker vs. Volume do Docker

Deixa eu te mostrar como isso funciona na prática. Criar e usar um volume:

docker volume create mydata
docker run -it -v mydata:/data alpine sh

A flag ` -v mydata:/data ` monta o volume ` mydata ` no caminho ` /data ` dentro do contêiner. Tudo o que é gravado em /data é, na verdade, armazenado no volume. Crie um arquivo de teste:

echo "This data persists!" > /data/important.txt
echo "Container ID: $(hostname)" >> /data/important.txt
exit

O contêiner parou e sumiu. Agora, comece um contêiner totalmente novo com o mesmo volume:

docker run -it -v mydata:/data alpine sh
cat /data/important.txt

Persistência de dados usando volumes do Docker

Persistência de dados usando volumes do Docker

O arquivo ainda tá lá, com o ID do contêiner antigo! Os dados sobreviveram porque estavam guardados no volume, e não no sistema de arquivos temporário do contêiner. Você pode conectar esse mesmo volume a quantos contêineres precisar, e todos eles verão os mesmos dados.

Mas, e isso é super importante para quem usa PWD, até os volumes são apagados quando a sua sessão de duas horas acaba. Os volumes continuam numa sessão, mas não passam de uma sessão para outra. 

Entender a persistência dos dados é super importante, mas a maioria das aplicações reais envolve vários serviços interligados. É aí que entra o o Docker Compose se torna essencial.

Orquestração de contêineres com o Docker Compose

Depois de dominar os contêineres individuais, é hora de encarar as aplicações do mundo real, que raramente consistem em um único serviço. As aplicações modernas geralmente têm vários componentes: um front-end web, um back-end API, um banco de dados, um cache e, talvez, uma fila de mensagens. Gerenciar todas essas partes com comandos separados do docker run vira um pesadelo de coordenação.

Por que usar o Docker Compose?

Imagina o seguinte cenário: Você está implantando um aplicativo que precisa de um servidor web, um banco de dados PostgreSQL e um cache Redis. 

Sem o Compose, você precisaria de três comandos separados do ` docker run `, cada um com vários sinalizadores para rede, mapeamento de porta, montagem de volume e variáveis de ambiente. Você teria que lembrar a ordem exata para iniciá-los (primeiro o banco de dados, depois o cache e, por fim, o servidor web) e, se algo der errado, a depuração se tornaria uma busca por várias janelas do terminal.

O Docker Compose resolve esse desafio de orquestração de um jeito bem bacana. Em vez de lidar com vários comandos, você define todo o seu aplicativo com vários contêineres em um único arquivo YAML chamado ` docker-compose.yml`. Esse arquivo vira a única fonte de verdade para a arquitetura do seu aplicativo, descrevendo todos os serviços, suas configurações, como eles se conectam entre si e quais volumes eles usam.

Com o Compose, você pode implantar toda a sua pilha com um único comando: ` docker-compose up`. Desmontar é igualmente simples: docker-compose down. Essa abordagem declarativa torna a infraestrutura reproduzível. Qualquer pessoa pode clonar seu repositório e rodar toda a sua pilha de aplicativos com um único comando, não importa o sistema operacional ou a configuração local.

A estrutura do arquivo Docker Compose

Vamos criar um arquivo básico do Docker Compose.

Primeiro, crie o arquivo no terminal com touch docker-compose.yml, depois clique em “Editor” no PWD e adicione o seguinte ao arquivo:

services:
  web:
    image: nginx
    ports:
      - "80:80"
  redis:
    image: redis

A seção de serviços define cada contêiner. Os nomes dos serviços (como web e redis) viram nomes de host na rede Docker. A chave de imagem diz qual imagem do Docker Hub usar. Implemente:

docker-compose up -d

Com os dois contêineres agora em execução, você pode se perguntar: como eles se encontram e se comunicam entre si?

Rede e descoberta de serviços

O Compose cria automaticamente uma rede que conecta todos os serviços, permitindo a descoberta de serviços. Os contêineres se comunicam usando nomes de serviço como nomes de host.

Teste isso entrando no contêiner da web e fazendo ping no Redis:

docker-compose exec web sh
apt-get update && apt-get install -y iputils-ping
ping redis

Os pings bem-sucedidos mostram que os contêineres conseguem se comunicar! O contêiner web acessa redis sem saber o endereço IP dele. O DNS interno do Docker resolve automaticamente os nomes dos serviços para os endereços corretos dos contêineres.

Solução de problemas e melhores práticas no Play com o Docker

À medida que você trabalhar mais com pessoas com deficiência, vai encontrar desafios comuns. Veja como lidar com eles de forma eficaz.

“Sessão expirada”

O limite de duas horas é a maior restrição da PWD. Quando o temporizador chegar a zero, tudo desaparece, incluindo instâncias e dados. Trabalhe de forma eficiente preparando o código localmente antes de colá-lo no PWD, mantendo backups. Envie imagens personalizadas para o Docker Hub antes do fim da sua sessão:

docker tag my-first-image yourusername/my-first-image
docker push yourusername/my-first-image

Concentre-se em um conceito por sessão, em vez de criar sistemas complexos. O limite de duas horas é bem generoso para aprender, então divide o trabalho em partes menores.

Erros na porta 80/443

Diferente do Docker local, onde você acessa os contêineres pelo localhost, o PWD usa URLs dinâmicas. Não tente localhost:80. Em vez disso, clique no ícone da porta na parte superior da interface PWD. Se os emblemas não aparecerem logo, dá um tempo ou atualiza o navegador.

Melhores práticas

Além disso, lembre-se destas práticas recomendadas:

  • Use imagens de base pequenas, como Alpine (5 MB contra mais de 100 MB do Ubuntu), para economizar largura de banda.
  • Não execute contêineres como root, a menos que seja necessário.
  • Nunca use credenciais reais no PWD, pois é uma plataforma pública.
  • Escreva Dockerfiles claros com comentários explicando suas escolhas.
  • Mantenha as imagens focadas em responsabilidades únicas.

Conclusão

Você aprendeu bastante neste tutorial. Você aprendeu o que é o Play with Docker, quando usá-lo em vez do Docker Desktop, executou seu primeiro contêiner, entendeu o encaminhamento de porta e usou comandos de depuração. Criamos imagens personalizadas com Dockerfiles, exploramos a persistência de dados com volumes e orquestramos aplicativos com vários contêineres com o Docker Compose.

O Play with Docker oferece um ambiente sem riscos para aprender os fundamentos do Docker sem precisar instalar nada no seu computador. As habilidades que você praticou: escrever Dockerfiles, gerenciar contêineres e configurar redes, se aplicam direto ao uso do Docker no mundo real.

Agora que você já entende esses conceitos básicos, instale o Docker Desktop localmente. Embora o PWD seja ótimo para aprender e fazer testes rápidos, um desenvolvimento sério precisa de persistência, desempenho e integração de ferramentas que só uma instalação local pode oferecer. Tudo o que você aprendeu no PWD se aplica diretamente ao Docker Desktop: os comandos são iguais e os conceitos são os mesmos.

Continue construindo sobre essa base. Experimente diferentes imagens base, explore os recursos de rede do Docker e pratique escrever Dockerfiles prontos para produção. Continue aprendendo, experimentando e construindo. 

Nossa Containerização e virtualização com Docker e Kubernetes oferece uma base excelente para trabalhar com contêineres. Para continuar aprendendo, também recomendo conferir os seguintes recursos:

Perguntas frequentes sobre o Play with Docker

Preciso instalar o Docker pra usar o Play com o Docker?

Não precisa instalar nada! O Play with Docker funciona totalmente no seu navegador da web. Você só precisa de uma conta gratuita no Docker Hub para fazer login. O PWD oferece um ambiente Alpine Linux completo com o Docker já instalado, que você pode usar em qualquer aparelho com internet.

Quanto tempo duram as sessões do Play with Docker?

Cada sessão do Play with Docker dura exatamente 2 horas antes de apagar tudo automaticamente. Você pode criar até 5 instâncias por sessão. Pra manter as imagens personalizadas depois da sessão, manda elas pro Docker Hub antes que o tempo acabe.

Posso acessar meus aplicativos em contêineres de fora do Play com o Docker?

Sim! Quando você expõe uma porta, o Play com Docker gera automaticamente uma URL exclusiva para ela. Clique no botão “ABRIR PORTA” para acessar seus aplicativos. Você pode compartilhar esses URLs com seus colegas para trabalhar em conjunto em tempo real.

Qual é a diferença entre o Play with Docker e o Docker Desktop?

O Play with Docker é baseado em navegador, gratuito e não precisa de instalação, o que o torna perfeito para aprender ou fazer testes rápidos, mas as sessões só duram 2 horas. O Docker Desktop roda localmente na sua máquina e oferece armazenamento persistente, melhor desempenho e integração com IDE, o que o torna ideal para o trabalho diário de desenvolvimento e projetos de longo prazo.

Posso usar o Docker Compose no Play com o Docker?

Claro que sim! O Docker Compose já vem instalado no PWD. Você pode criar arquivos docker-compose.yml usando o editor integrado e executar aplicativos com vários contêineres com o docker-compose up. O PWD cuida automaticamente da rede entre os serviços, o que é ótimo pra testar arquiteturas de microsserviços ou aprender a orquestrar contêineres.


Benito Martin's photo
Author
Benito Martin
LinkedIn

Como fundador da Martin Data Solutions e cientista de dados freelancer, engenheiro de ML e IA, tenho um portfólio diversificado em regressão, classificação, PNL, LLM, RAG, redes neurais, métodos de conjunto e visão computacional.

  • Desenvolveu com sucesso vários projetos de ML de ponta a ponta, incluindo limpeza de dados, análise, modelagem e implantação no AWS e no GCP, fornecendo soluções impactantes e dimensionáveis.
  • Criou aplicativos da Web interativos e dimensionáveis usando Streamlit e Gradio para diversos casos de uso do setor.
  • Ensinou e orientou alunos em ciência e análise de dados, promovendo seu crescimento profissional por meio de abordagens de aprendizagem personalizadas.
  • Projetou o conteúdo do curso para aplicativos RAG (retrieval-augmented generation) adaptados aos requisitos da empresa.
  • Criou blogs técnicos de IA e ML de alto impacto, abordando tópicos como MLOps, bancos de dados vetoriais e LLMs, obtendo um envolvimento significativo.

Em cada projeto que assumo, certifico-me de aplicar práticas atualizadas em engenharia de software e DevOps, como CI/CD, code linting, formatação, monitoramento de modelos, rastreamento de experimentos e tratamento robusto de erros. Tenho o compromisso de fornecer soluções completas, transformando insights de dados em estratégias práticas que ajudam as empresas a crescer e tirar o máximo proveito da ciência de dados, do machine learning e da IA.

Tópicos

Cursos sobre Docker

Curso

Introdução ao Docker

4 h
41.4K
Conheça o Docker e sua importância para profissionais de dados. Aprenda sobre contêineres e imagens Docker.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

O Guia Completo para a Certificação Docker (DCA) em 2026

Descubra todo o seu potencial no Docker e na ciência de dados com o nosso guia completo. Dá uma olhada nas certificações, trilhas de aprendizagem e dicas práticas do Docker.
Matt Crabtree's photo

Matt Crabtree

8 min

blog

Jupyter e R Markdown: Notebooks com R

Saiba como instalar, executar e usar o R com o Jupyter Notebook e o R Notebook do RStudio, incluindo dicas e alternativas
Karlijn Willems's photo

Karlijn Willems

15 min

blog

Como aprender Python do zero em 2026: Um guia especializado

Descubra como aprender Python em 2026, suas aplicações e a demanda por habilidades em Python. Comece hoje mesmo sua jornada no Python ​com nosso guia completo.
Matt Crabtree's photo

Matt Crabtree

15 min

Tutorial

Como instalar e configurar o MySQL no Docker

Saiba como instalar e configurar o banco de dados MySQL dentro de contêineres do Docker. O tutorial inclui conceitos como conexão com servidores MySQL, execução de clientes MySQL para conexão com contêineres e assim por diante.
Bex Tuychiev's photo

Bex Tuychiev

Tutorial

Como escrever um script Bash: um tutorial simples de scripts Bash

Descubra os fundamentos da criação de scripts Bash e aprenda a escrever um script Bash.
Kurtis Pykes 's photo

Kurtis Pykes

Jupyter and the notebook

Tutorial

Como usar o Jupyter Notebooks: O guia definitivo

Este artigo aborda o que são os notebooks e por que você deve usá-los. Também nos aprofundamos nos notebooks hospedados, que facilitam o compartilhamento e a colaboração. Este artigo também aborda dicas, truques e atalhos de teclado.
Adam Shafi's photo

Adam Shafi

Ver maisVer mais