Imagens e Registro Docker

DockerBeginner
Pratique Agora

Introdução

Neste desafio, vamos brincar com imagens Docker. Uma imagem de contêiner Docker é um pacote de software leve, autocontido e executável que contém tudo o que é necessário para executar uma aplicação: código, runtime, ferramentas do sistema, bibliotecas do sistema e configurações.

Alterar Imagem Docker

Uma imagem Docker contém um nome de imagem e uma tag de imagem, onde o nome da imagem compreende o endereço do repositório e o identificador da imagem. Nesta subseção, vamos enviar uma imagem Docker criada por outra pessoa para o nosso repositório.

Objetivo

O objetivo é enviar as imagens ubuntu públicas no dockerhub para o seu repositório privado.

Exemplo de Resultado

Aqui está um exemplo do que você deve ser capaz de realizar ao final deste desafio:

  1. Registre-se no dockerhub e faça login.

    Tela de registro e login do Dockerhub
  2. Baixe a imagem ubuntu:22.10 do docker hub para o nosso servidor local.

    Baixando a imagem Docker do Ubuntu
  3. Altere a imagem ubuntu:22.10 para o nosso endereço de repositório.

    Alterando o repositório da imagem Docker
  4. Faça login no docker hub.

    Tela de login do Docker Hub
  5. Envie a imagem para o repositório remoto.

    Enviando a imagem para o repositório

Requisitos

Para completar este desafio, você precisará:

  • Instalar o Docker engine.
  • Ter algum conhecimento da linha de comando Docker.
  • Uma imagem Docker já existente que precisa ser atualizada
✨ Verificar Solução e Praticar

Construir uma Imagem Web

Normalmente, usamos o nginx para executar aplicações estáticas, como websites. Nesta seção, vamos construir nossa imagem web.

Objetivo

Seu objetivo é criar uma imagem de contêiner Docker e empacotar uma aplicação web simples nela, em seguida, usar essa imagem para iniciar o contêiner e torná-lo acessível corretamente.

Exemplo de Resultado

Aqui está um exemplo do que você deve ser capaz de realizar ao final deste desafio:

  1. Crie um novo arquivo chamado index.html no diretório /home/labex/Code com o conteúdo hello labex.

    Criando o arquivo index html
  2. Crie um novo arquivo chamado Dockerfile com o seguinte conteúdo

    Exemplo de conteúdo do Dockerfile
  3. Construa sua imagem web com o formato your_dockerhub_id/web:1.1.0.

    Construindo a imagem web Docker
  4. Envie a imagem web criada para o dockerhub.

    Enviando a imagem web para o DockerHub
  5. Inicie um contêiner chamado web com your_dockerhub_id/web:1.1.0, e também precisamos mapear a porta 80 para o host.

    Iniciando o contêiner Docker web
  6. Use o comando curl para visitar http://127.0.0.1 e verifique se a saída é hello labex.

    Saída do comando curl hello labex

Requisitos

Para completar este desafio, você precisará:

  • Construir com Dockerfile
  • Especificar a imagem base como Nginx:latest
  • Expor a porta 80 no Dockerfile usando o comando EXPOSE
  • Após a conclusão da construção, certifique-se de que o contêiner pode ser executado corretamente e responder a solicitações HTTP
✨ Verificar Solução e Praticar

Construção de Imagem Multi-stage

A criação de uma imagem de contêiner geralmente envolve duas etapas:

  1. Compilar a construção da aplicação.
  2. Criar a imagem da aplicação.

Esta seção combinará essas duas etapas em um único arquivo Docker para alcançar uma construção em múltiplos estágios.

Para completar esta seção do desafio, preparamos um projeto Hello World em https://github.com/joker-bai/go-hello-world.git.

Objetivo

Seu objetivo é usar uma construção em múltiplos estágios para criar uma imagem de contêiner e usar essa imagem para iniciar um contêiner e torná-lo acessível corretamente.

Exemplo de Resultado

Aqui está um exemplo do que você deve ser capaz de realizar ao final deste desafio:

  1. Crie um diretório hello-world no diretório /home/labex/Code.
    Criando o diretório hello world

  2. Crie um Dockerfile neste diretório com o seguinte conteúdo
    Exemplo de criação do Dockerfile

  3. Construa a imagem Docker com o formato your_dockerhub_id/go-hello-world:1.1.0.
    Processo de construção da imagem Docker

  4. Envie a imagem para o docker hub.
    Enviando a imagem Docker para o hub

  5. Inicie um contêiner chamado go-hello-world e exponha a porta 8080.
    Iniciando o contêiner go hello world

  6. Visite http://127.0.0.1:8080 para verificar se está OK.
    Verificação da resposta HTTP do contêiner

Requisitos

Para completar este desafio, você precisará:

  • Construir com Dockerfile
  • Após a conclusão da construção, certifique-se de que o contêiner pode ser executado corretamente e responder a solicitações HTTP
✨ Verificar Solução e Praticar

Resumo

Parabéns pela conclusão de todos os elementos deste desafio, você agora tem a flexibilidade de criar e gerenciar imagens de aplicações.