Executar um Contêiner Docker

DockerBeginner
Pratique Agora

Introdução

Neste laboratório, você se imergirá em um cenário ambientado na era vitoriana, onde assume o papel de um negociante de antiguidades. Seu objetivo é transportar e apresentar artefatos históricos de forma eficaz usando tecnologia moderna — especificamente, aproveitando os contêineres Docker para otimizar suas operações.

Imagine que você é um respeitado negociante de antiguidades em Londres, na década de 1880, conhecido por sua excepcional coleção de artefatos de todo o mundo. No entanto, em vez de caixas e vitrines tradicionais, você descobriu uma tecnologia revolucionária chamada "contêineres Docker" que permite embalar, transportar e exibir seus preciosos itens com eficiência e segurança sem precedentes.

Ao final deste laboratório, você entenderá os conceitos básicos dos contêineres Docker e como usá-los para executar aplicações, o que, em nosso cenário vitoriano, representa sua capacidade de gerenciar e exibir sua valiosa coleção de antiguidades.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 99%. Recebeu uma taxa de avaliações positivas de 99% dos estudantes.

Configurando Seu Ambiente Docker

Nesta etapa, você começará garantindo que seu ambiente Docker esteja devidamente configurado para executar contêineres. Pense nisso como preparar sua oficina de antiguidades com as ferramentas e equipamentos necessários.

  1. Instale o Docker executando os seguintes comandos em seu terminal:

    sudo apt update
    sudo apt install docker.io

    Este primeiro comando atualiza suas listas de pacotes para garantir que você esteja obtendo a versão mais recente do Docker, enquanto o segundo comando instala o próprio Docker. O prefixo sudo concede privilégios administrativos necessários para a instalação.

  2. Depois que o Docker estiver instalado, inicie o serviço Docker:

    sudo systemctl start docker

    Este comando ativa o serviço Docker, semelhante a abrir sua oficina para negócios. O daemon Docker agora está em execução em segundo plano, pronto para processar suas solicitações de contêiner.

  3. Verifique se o Docker está sendo executado com sucesso:

    sudo systemctl status docker

    Este comando verifica se o Docker está ativo e funcionando corretamente. Você deve ver uma saída com "active (running)" em texto verde, confirmando que seu ambiente Docker está pronto. Se você vir "inactive" ou alguma mensagem de erro, pode ser necessário tentar reiniciar o serviço.

  4. Para garantir que você possa executar comandos Docker sem usar sudo toda vez, adicione seu usuário ao grupo Docker:

    sudo usermod -aG docker $USER

    Observação: Após executar este comando, pode ser necessário sair e entrar novamente para que as alterações entrem em vigor. Para este laboratório, continuaremos usando sudo com nossos comandos Docker para garantir a compatibilidade.

Executando um Contêiner Hello-World

Agora que seu ambiente está configurado, você executará seu primeiro contêiner Docker — um simples exemplo "hello-world". Considere isso como exibir seu primeiro artefato para garantir que sua nova tecnologia de contêineres funcione conforme o esperado.

  1. Faça o pull da imagem "hello-world" do Docker Hub:

    sudo docker pull hello-world

    Este comando baixa a imagem hello-world do Docker Hub (um repositório público de imagens Docker). Pense nisso como adquirir seu primeiro artefato de uma terra distante. O Docker Hub serve como um mercado onde você pode encontrar contêineres pré-empacotados para vários propósitos.

  2. Execute o contêiner "hello-world":

    sudo docker run hello-world

    Este comando cria e inicia um contêiner a partir da imagem hello-world. O contêiner executa um programa simples que gera uma mensagem e depois sai. Em nosso cenário vitoriano, isso equivale a exibir brevemente seu primeiro artefato para verificar se seu novo sistema de contêineres funciona corretamente.

  3. Verifique a saída para garantir que o contêiner foi executado com sucesso. Você deve ver uma mensagem que começa com "Hello from Docker!" seguida por algum texto explicativo. Isso confirma que:

    • O Docker está corretamente instalado
    • Seu sistema pode criar contêineres com sucesso
    • Você pode baixar imagens do Docker Hub
  4. Para ver uma lista de todos os contêineres (incluindo aqueles que foram finalizados):

    sudo docker ps -a

    Este comando mostra todos os contêineres, incluindo o contêiner hello-world que agora foi finalizado. Você verá detalhes como o ID do contêiner, de qual imagem ele foi criado, quando foi criado e seu status atual.

Implantando um Servidor Web Nginx

Nesta etapa, você implantará um servidor web Nginx usando um contêiner Docker. Em nosso cenário vitoriano, isso representa a configuração de uma elegante vitrine (Nginx) para exibir suas antiguidades mais valiosas (conteúdo da web) aos visitantes.

  1. Faça o pull da imagem Nginx do Docker Hub:

    sudo docker pull nginx

    Este comando baixa a imagem oficial do Nginx do Docker Hub. Nginx é um servidor web popular que pode servir conteúdo HTML. Isso equivale a adquirir uma bela vitrine para sua coleção de antiguidades.

  2. Execute um contêiner Nginx em modo detached, mapeando a porta 80 no host para a porta 80 no contêiner:

    sudo docker run -d -p 80:80 nginx

    Vamos detalhar este comando:

    • run: Cria e inicia um novo contêiner
    • -d: Executa o contêiner em modo detached (em segundo plano)
    • -p 80:80: Mapeia a porta 80 em sua máquina host para a porta 80 no contêiner, permitindo que o tráfego da web alcance o servidor Nginx
    • nginx: Especifica a imagem a ser usada

    Isso é como colocar sua vitrine em seu showroom e garantir que os visitantes possam ver suas antiguidades.

  3. Verifique se seu contêiner Nginx está em execução:

    sudo docker ps

    Este comando mostra todos os contêineres em execução. Você deve ver seu contêiner Nginx na lista, indicando que ele está ativamente em execução.

  4. Adicione um mapeamento de serviço web no menu superior do laboratório e defina o mapeamento de porta para 80. Se o servidor web Nginx estiver sendo executado com sucesso, o ambiente do laboratório automatizará a navegação para uma URL aleatória no laboratório do servidor, e você deverá ver a página de boas-vindas padrão do Nginx.

  5. Opcional: Se você quiser acessar o servidor Nginx do seu navegador manualmente, você pode navegar para http://localhost ou o endereço IP da sua máquina.

  6. Se você encontrar algum problema, você pode verificar os logs do contêiner:

    sudo docker logs <container_id>

    Substitua <container_id> pelo ID do seu contêiner Nginx, que você pode encontrar na saída do comando docker ps.

Resumo

Neste laboratório, você foi apresentado aos conceitos fundamentais de execução de contêineres Docker. Ao simular um contexto histórico e atuar como um negociante de antiguidades na era vitoriana, você adquiriu experiência prática no aproveitamento das capacidades de execução do Docker.

Você aprendeu a:

  • Configurar um ambiente Docker
  • Fazer o pull de imagens do Docker Hub
  • Executar contêineres tanto em modo foreground quanto detached
  • Expor portas de contêiner para a máquina host
  • Verificar o status do contêiner

Essas habilidades formam a base da tecnologia de contêineres e podem ser aplicadas a uma ampla gama de aplicações além do nosso cenário de negociante de antiguidades. Em ambientes modernos, essas mesmas técnicas são usadas para implantar aplicações que variam de servidores web simples a arquiteturas complexas de microsserviços.

A capacidade de empacotar aplicações com suas dependências em contêineres portáteis revoluciona a forma como implantamos e gerenciamos software, assim como os contêineres de transporte padronizados transformaram o comércio global. Como nosso negociante de antiguidades vitoriano poderia dizer: "Esses maravilhosos contêineres Docker revolucionarão a forma como apresentamos nossos tesouros ao mundo!"