Introdução
Neste laboratório, você mergulhará em um cenário ambientado na era vitoriana, onde assumirá o papel de um negociante de antiguidades. Seu objetivo é transportar e apresentar artefatos históricos de forma eficaz usando tecnologia moderna — especificamente, aproveitando os containers Docker para otimizar suas operações.
Imagine que você é um respeitado negociante de antiguidades na Londres da década de 1880, conhecido por sua coleção excepcional de artefatos de todo o mundo. No entanto, em vez de caixotes e vitrines tradicionais, você descobriu uma tecnologia revolucionária chamada "containers Docker", que permite embalar, transportar e exibir seus itens preciosos com eficiência e segurança sem precedentes.
Ao final deste laboratório, você entenderá o básico dos containers 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.
Configurando seu Ambiente Docker
Nesta etapa, você começará garantindo que seu ambiente Docker esteja configurado corretamente para executar containers. Pense nisso como preparar sua oficina de antiguidades com as ferramentas e equipamentos necessários.
Instale o Docker executando os seguintes comandos no seu terminal:
sudo apt update sudo apt install docker.ioEste primeiro comando atualiza suas listas de pacotes para garantir que você obtenha a versão mais recente do Docker, enquanto o segundo comando instala o próprio Docker. O prefixo
sudoconcede os privilégios administrativos necessários para a instalação.Assim que o Docker estiver instalado, reinicie o serviço Docker para que o daemon em execução corresponda à versão que você acabou de instalar:
sudo systemctl restart dockerEste comando recarrega o daemon do Docker com a versão do pacote recém-instalada. Se o Docker ainda não estivesse em execução, o
restarttambém inicia o serviço. Isso evita incompatibilidades de versão da API entre o cliente e o daemon ao executar seu primeiro container.Verifique se o Docker está sendo executado corretamente:
sudo systemctl status dockerEste comando verifica se o Docker está ativo e funcionando corretamente. Você deve ver uma saída com
active (running), confirmando que seu ambiente Docker está pronto. Se você virinactiveou qualquer mensagem de erro, executesudo systemctl restart dockernovamente antes de continuar.Para garantir que você possa executar comandos Docker sem usar
sudotodas as vezes, adicione seu usuário ao grupo docker:sudo usermod -aG docker $USERNota: Após executar este comando, pode ser necessário sair e entrar novamente no sistema para que as alterações entrem em vigor. Para este laboratório, continuaremos usando
sudocom nossos comandos Docker para garantir a compatibilidade.
Executando um Container Hello-World
Agora que seu ambiente está configurado, você executará seu primeiro container Docker — um exemplo simples de "hello-world". Considere isso como exibir seu primeiro artefato para garantir que sua nova tecnologia de container funcione conforme o esperado.
Puxe a imagem "hello-world" do Docker Hub:
sudo docker pull hello-worldEste 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 containers pré-empacotados para diversos fins.
Execute o container "hello-world":
sudo docker run hello-worldEste comando cria e inicia um container a partir da imagem hello-world. O container executa um programa simples que exibe uma mensagem e depois é encerrado. Em nosso cenário vitoriano, isso equivale a exibir brevemente seu primeiro artefato para verificar se seu novo sistema de containers funciona corretamente. Se o Docker relatar uma incompatibilidade de versão da API do cliente ou do daemon aqui, reinicie o serviço com
sudo systemctl restart dockere execute o comando novamente.Verifique a saída para garantir que o container 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á instalado corretamente
- Seu sistema pode criar containers com sucesso
- Você pode baixar imagens do Docker Hub
Para ver uma lista de todos os containers (incluindo aqueles que já foram encerrados):
sudo docker ps -aEste comando mostra todos os containers, incluindo o container hello-world que agora foi encerrado. Você verá detalhes como o ID do container, a imagem a partir da qual foi criado, quando foi criado e seu status atual.
Implantando um Servidor Web Nginx
Nesta etapa, você implantará um servidor web Nginx usando um container Docker. Em nosso cenário vitoriano, isso representa a montagem de uma elegante vitrine (Nginx) para exibir suas antiguidades mais valiosas (conteúdo web) aos visitantes.
Puxe a imagem Nginx do Docker Hub:
sudo docker pull nginxEste comando baixa a imagem oficial do Nginx do Docker Hub. O Nginx é um servidor web popular que pode servir conteúdo HTML. Isso equivale a adquirir uma bela vitrine para sua coleção de antiguidades.
Execute um container Nginx em modo desanexado (detached), mapeando a porta 80 no host para a porta 80 no container:
sudo docker run -d -p 80:80 nginxVamos detalhar este comando:
run: Cria e inicia um novo container-d: Executa o container em modo desanexado (em segundo plano)-p 80:80: Mapeia a porta 80 na sua máquina host para a porta 80 no container, permitindo que o tráfego web chegue ao servidor Nginxnginx: Especifica a imagem a ser usada
Isso é como colocar sua vitrine em seu showroom e garantir que os visitantes possam ver suas antiguidades.
Verifique se seu container Nginx está em execução:
sudo docker psEste comando mostra todos os containers em execução. Você deve ver seu container Nginx na lista, indicando que ele está ativo.
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 navegará automaticamente para uma URL aleatória no servidor, e você deverá ver a página de boas-vindas padrão do Nginx.
Opcional: Se você quiser acessar o servidor Nginx pelo seu navegador manualmente, pode navegar para http://localhost ou para o endereço IP da sua máquina.
Se encontrar algum problema, você pode verificar os logs do container:
sudo docker logs <container_id>Substitua
<container_id>pelo ID do seu container Nginx, que você pode encontrar na saída do comandodocker ps.
Resumo
Neste laboratório, você foi apresentado aos conceitos fundamentais da execução de containers Docker. Ao simular um contexto histórico e atuar como um negociante de antiguidades na era vitoriana, você obteve experiência prática no aproveitamento das capacidades de execução do Docker.
Você aprendeu a:
- Configurar um ambiente Docker
- Puxar imagens do Docker Hub
- Executar containers nos modos de primeiro plano e desanexado
- Expor portas de container para a máquina host
- Verificar o status do container
Essas habilidades formam a base da tecnologia de containers 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 containers portáteis revoluciona a forma como implantamos e gerenciamos software, assim como os containers de transporte padronizados transformaram o comércio global. Como diria nosso negociante de antiguidades vitoriano: "Estes maravilhosos containers Docker revolucionarão a forma como apresentamos nossos tesouros ao mundo!"



