Seu Primeiro Laboratório Docker

DockerBeginner
Pratique Agora

Introdução

Boas-vindas ao seu primeiro laboratório de Docker! Aqui, você dará seus primeiros passos no universo da conteinerização ao conhecer o Docker, uma plataforma poderosa para desenvolver, enviar e executar aplicações.

O Docker permite que você empacote uma aplicação com todas as suas dependências em uma unidade padronizada chamada container. Isso facilita a implantação e a execução de aplicativos de forma consistente em diferentes ambientes.

A melhor maneira de aprender Docker é fazendo. Não se limite a ler este laboratório – experimente cada comando no ambiente LabEx! É o lugar perfeito para testar e aprender na prática.

Neste laboratório, você aprenderá a:

  • Compreender os conceitos básicos do Docker
  • Executar seu primeiro container Docker
  • Usar comandos essenciais do Docker
  • Explorar o Docker Hub

Dicas: Este laboratório faz parte da Árvore de Habilidades (Skill Tree) do Docker, um sistema de conhecimento estruturado. Após cada etapa, o sistema verifica suas ações, concedendo pontos de habilidade para respostas corretas 💡. Revise seus pontos acumulados visitando a Árvore de Habilidades do Docker após concluir o laboratório.

Vamos começar nossa jornada Docker! Clique em Continue abaixo ou use o ícone da VM à esquerda para iniciar o laboratório.

Compreendendo os Conceitos do Docker

Antes de começarmos a usar o Docker, vamos nos familiarizar com alguns conceitos-chave. Não se preocupe se eles parecerem complexos no início - veremos cada um deles em ação em breve!

  1. Container: Um pacote leve, independente e executável que inclui tudo o que é necessário para rodar um software.
  2. Imagem (Image): Pense nisso como um modelo ou planta (blueprint) para containers. Ela contém todas as instruções necessárias para criar um container.
  3. Docker Hub: Semelhante ao GitHub, mas para imagens Docker - é onde você pode encontrar e compartilhar imagens de containers.
  4. Docker Engine: A tecnologia central que executa e gerencia os containers em sua máquina.

Aqui está um diagrama simples para ajudar a visualizar como esses conceitos trabalham juntos:

graph TD A[Docker Engine] -->|runs| B(Containers) C[Images] -->|create| B D[Docker Hub] -->|stores| C A -->|pulls| C A -->|pushes| D

Este diagrama mostra que:

  • O Docker Engine executa os containers
  • As imagens são usadas para criar os containers
  • O Docker Hub armazena as imagens
  • O Docker Engine pode baixar (pull) imagens do Docker Hub e enviar (push) imagens para o Docker Hub

Entender essas relações ajudará você a compreender como o Docker funciona à medida que avançamos. Clique em Continue abaixo para ir para a próxima etapa!

Executando Seu Primeiro Container

Agora que entendemos os conceitos básicos, vamos executar nosso primeiro container Docker usando a imagem hello-world. Esta imagem simples foi projetada para verificar se sua instalação do Docker está funcionando corretamente e para apresentar o básico da plataforma.

Docker Hello World

Para executar o container, use o seguinte comando no seu terminal:

docker run hello-world

Dicas: Clique em "Explain Code" no canto inferior direito de qualquer bloco de código para conversar com a IA Labby e tirar dúvidas. Após a conversa, clique em "Continue" para retornar ao laboratório.

Vamos detalhar o que este comando faz:

  1. docker: Este é o comando principal para interagir com o Docker Engine.
  2. run: Este subcomando instrui o Docker a criar e iniciar um novo container.
  3. hello-world: Este é o nome da imagem que queremos executar.

Quando você executa este comando, várias coisas acontecem nos bastidores:

  1. O Docker verifica se a imagem hello-world está disponível localmente.
  2. Se não estiver, ele a baixa automaticamente (faz o "pull") do Docker Hub.
  3. O Docker cria um novo container baseado nessa imagem.
  4. O container é executado, exibe uma mensagem e, em seguida, é encerrado.

Você deverá ver uma saída semelhante a esta:

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Esta saída explica o processo que o Docker realizou para rodar o container hello-world. Vamos resumir:

  1. O cliente Docker (o comando que você digitou) contatou o daemon do Docker (o serviço de segundo plano que gerencia o Docker na sua máquina).
  2. O daemon baixou a imagem "hello-world" do Docker Hub porque ela não estava disponível localmente.
  3. O daemon criou um novo container a partir dessa imagem e o executou.
  4. A saída do container foi enviada de volta para o seu terminal.

Não se preocupe se ainda não entender tudo isso. Conforme avançarmos, esses conceitos ficarão mais claros.

Clique em Continue para prosseguir para a próxima etapa.

Entendendo Imagens Docker

Agora que executamos nosso primeiro container, vamos explorar as imagens Docker com mais detalhes. Lembre-se, uma imagem é como uma planta ou um modelo para um container. Ela contém todas as instruções necessárias para criá-lo.

Para ver as imagens disponíveis no seu sistema local, use o seguinte comando:

docker images

Você deverá ver uma saída semelhante a esta:

REPOSITORY          TAG       IMAGE ID       CREATED         SIZE
hello-world         latest    feb5d9fea6a5   2 weeks ago     13.3kB

Vamos entender o que cada coluna significa:

  • REPOSITORY: O nome da imagem. Neste caso, é "hello-world".
  • TAG: A versão da imagem. "latest" é a tag padrão se você não especificar uma.
  • IMAGE ID: Um identificador único para a imagem. Útil quando você precisa se referir a uma imagem específica.
  • CREATED: Quando a imagem foi criada. Isso ajuda a saber se você tem a versão mais recente.
  • SIZE: O tamanho da imagem no disco. As imagens Docker são projetadas para serem leves, por isso a imagem hello-world tem apenas 13.3kB.

A imagem hello-world agora está armazenada localmente no seu sistema. Isso significa que, se você executar docker run hello-world novamente, o Docker não precisará baixá-la do Docker Hub. Ele usará a cópia local, tornando o processo muito mais rápido.

Se você não vir a imagem hello-world, não se preocupe! Ela pode ter sido removida automaticamente para economizar espaço. Você sempre pode baixá-la novamente executando docker pull hello-world.

Nota: Usuários gratuitos do LabEx não podem baixar imagens externas porque a VM gratuita não possui acesso à internet. Você pode atualizar para um plano pago para baixar imagens livremente.

Clique em Continue para prosseguir para a próxima etapa.

Explorando o Docker Hub

O Docker Hub é um serviço de registro baseado em nuvem onde usuários e organizações podem armazenar e distribuir suas imagens Docker. É como um GitHub para imagens Docker, servindo como um repositório central onde você pode encontrar, compartilhar e gerenciar imagens.

Vamos explorar o Docker Hub:

  1. Abra seu navegador web local e acesse https://hub.docker.com
  2. Na barra de pesquisa no topo, digite "hello-world" e pressione Enter
  3. Você verá uma lista de imagens. Procure pela imagem oficial "hello-world" (ela deve ter um selo de "Official Image")
  4. Clique na imagem "hello-world" para ver seus detalhes
Resultados de busca de imagem no Docker Hub

Na página da imagem, você pode ver:

  • Uma descrição da imagem
  • Instruções de uso
  • O número de "pulls" (downloads) que a imagem teve
  • Tags (versões) disponíveis

O Docker Hub é onde o Docker procura por imagens quando você executa um comando docker run e a imagem não está disponível localmente. É por isso que você conseguiu rodar o container hello-world mesmo sem ter baixado a imagem explicitamente antes.

Alguns pontos importantes sobre o Docker Hub:

  1. Imagens Oficiais (Official Images): São curadas pelo Docker e geralmente são bem mantidas e documentadas. São uma ótima escolha para iniciantes.
  2. Tags: As imagens podem ter várias versões, chamadas de tags. Por exemplo, você pode ver tags como "latest", "1.0", "2.1", etc. Quando você não especifica uma tag (como fizemos com docker run hello-world), o Docker assume que você quer a tag "latest".
  3. Comando Pull: Na página de cada imagem, você verá um "Pull Command". É o que você usaria para baixar manualmente a imagem sem executar um container. Exemplo: docker pull hello-world
  4. Dockerfile: Muitas imagens no Docker Hub possuem um link para seu Dockerfile, que é o script usado para construir a imagem. Isso pode ser útil se você quiser entender como a imagem foi criada.

Explorar o Docker Hub e entender como encontrar e usar imagens é uma habilidade crucial ao trabalhar com Docker. Conforme você progredir, provavelmente se verá pesquisando frequentemente no Docker Hub por imagens que atendam às suas necessidades.

Esta é a etapa final do seu primeiro laboratório Docker! Clique em Continue para verificar todas as suas habilidades.

Resumo

Parabéns! Você concluiu seu primeiro laboratório Docker e deu seus passos iniciais no mundo da conteinerização! Você aprendeu a:

  • Compreender os conceitos básicos do Docker
  • Executar seu primeiro container usando a imagem hello-world
  • Visualizar e entender as imagens Docker no seu sistema
  • Navegar no Docker Hub para encontrar e aprender sobre imagens

Este é apenas o começo da sua jornada Docker! Você viu como a conteinerização pode ser poderosa, mesmo com exemplos simples. Pronto para levar suas habilidades para o próximo nível?

O LabEx Pro desbloqueia um novo mundo de aprendizado Docker, incluindo:

LabEx Pro

Se você já atualizou para o LabEx Pro, por favor ignore este banner promocional, ele não aparecerá novamente.

  • Laboratórios Docker avançados: Aprenda orquestração de containers, aplicações multi-container e estratégias de implantação em produção.
  • Projetos do mundo real: Ganhe experiência prática com Docker em cenários reais de desenvolvimento.
  • Suporte especializado: Obtenha ajuda de profissionais de Docker sempre que precisar.
  • Árvore de Habilidades Abrangente: Construa uma base sólida para uma carreira em DevOps e computação em nuvem.

Continue sua aventura Docker com mais laboratórios gratuitos ou atualize para o LabEx Pro para acelerar sua jornada rumo a se tornar um especialista em Docker!