Domínio do Docker nas Pradarias de Gelasian

DockerBeginner
Pratique Agora

Introdução

Imagine que você está nas antigas pradarias de Gelasian, onde cavalos selvagens vagam livremente e o vínculo entre um domador e as feras indomáveis é vital para a sobrevivência. Seu papel é o de um domador de cavalos selvagens, encarregado do desafio de utilizar o Docker para gerenciar containers de forma eficiente nesta vasta paisagem.

Dominando a Criação de Containers

Nesta etapa, você aprenderá os fundamentos da criação e do gerenciamento de containers Docker para sobreviver nas pradarias selvagens.

Tarefas

  • Criar um container Nginx chamado mynginx e garantir que ele esteja em execução.
  • Iniciar um container Alpine e verificar seu status.
  • Implantar um container Ubuntu com um volume específico anexado (montando o diretório do host ~/project no diretório do container /app).

Requisitos

  • Você deve realizar todas as operações dentro do diretório /home/labex/project.
  • Utilize os seguintes comandos:
    • Para criar containers: docker run
    • Para verificar o status dos containers: docker ps
    • Para anexar um volume: docker run -v

Exemplo

Após concluir as tarefas, a saída do comando docker ps deve exibir os containers em execução, incluindo informações relevantes como ID do container, imagem e status.

labex:~/ $ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
1983f85f03d4   ubuntu    "sleep 3600"             22 seconds ago   Up 21 seconds             ubuntu_container
4231996cae33   alpine    "sleep 3600"             2 minutes ago    Up 2 minutes              alpine_container
519eadd3ced5   nginx     "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp    mynginx

Rede e Comunicação entre Containers

Nesta etapa, você mergulhará no mundo das redes de containers e na comunicação para estabelecer uma conectividade contínua por todas as pradarias.

Tarefas

  • Criar uma rede personalizada chamada mynetwork para os containers.
  • Implantar um container Alpine chamado myalpine na rede personalizada e garantir que ele consiga se comunicar com outro container chamado mypython (baseado na imagem Python) na mesma rede.

Requisitos

  • Todas as operações devem ser mantidas dentro do diretório /home/labex/project.
  • Utilize os seguintes comandos:
    • Para criar uma rede personalizada: docker network create
    • Para conectar containers a uma rede: docker network connect

Exemplo

Ao concluir as tarefas, a rede personalizada deve estar visível ao executar docker network ls, e o container Python deve se comunicar com sucesso com outros containers dentro da rede.

Visualize a rede:

labex:~/ $ docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
1a367e6cc4e5   bridge      bridge    local
91199fc6ad2e   host        host      local
32e2857073a9   minikube    bridge    local
92d3b71b7efd   mynetwork   bridge    local
1078d2c781b6   none        null      local

Verifique a conexão dos containers via ping:

labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms

Resumo

Neste desafio, você assumiu o papel de um domador de cavalos selvagens nas antigas pradarias, dominando a arte de gerenciar containers Docker. Ao concluir as tarefas e compreender as soluções, você adquiriu habilidades essenciais em gerenciamento e rede de containers Docker, fundamentais para sobreviver no mundo indomado do Docker.

✨ Verificar Solução e Praticar✨ Verificar Solução e Praticar