Oii, Marcus! Tudo bem?
Primeiramente, seja muito bem-vindo à área de tecnologia! Fico muito feliz em ver sua iniciativa de transição de carreira. Não existe "ignorância" aqui, apenas degraus de aprendizado que todos nós já subimos um dia. E acredite: a lógica e a capacidade de análise do Direito vão te ajudar muito na programação.
Sobre a sua dúvida, a resposta curta é: Não, você não precisa necessariamente clonar do GitHub para fazer o push.
Vou te explicar o porquê separando o processo em partes, pra ficar bem claro:
1. O papel de cada ferramenta
- GitHub: É onde guardamos o "texto" (o código fonte, o arquivo Dockerfile). Pense nele como um arquivo de documentos do escritório.
- Seu Computador (local): É onde a mágica da criação acontece.
- Docker Hub: É onde guardamos a "imagem pronta" (o software empacotado). Pense nele como uma estante de distribuição do produto final.
2. O Fluxo da Atividade
Nesta atividade específica, você está criando a imagem do zero. O processo é:
- Criar o arquivo (no seu PC): Você abre um bloco de notas ou editor de código e escreve o
Dockerfile. (Não precisa vir do GitHub, ele nasce no seu computador). - Construir a Imagem (build): O comando
docker build lê esse arquivo que você criou e monta a imagem. - Enviar (push): O comando
docker push pega essa imagem pronta e manda para o Docker Hub.
"Mas quando eu uso o GitHub?"
Você só precisaria clonar do GitHub se o projeto (o Dockerfile e os códigos da aplicação) já tivesse sido criado por outra pessoa ou por você anteriormente e estivesse salvo lá. Como neste exercício você está criando o Dockerfile agora, você não precisa do GitHub nesse momento.
Para fazer o push para o Docker Hub, você só precisa ter a imagem criada no seu computador. A origem dos arquivos (se veio do GitHub ou se você escreveu agora) não importa para o Docker Hub.
Espero que isso tenha clareado as coisas!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!