1.4 - Docker parte 3
Lab 1.3 - Objetivos
Criar imagens a partir de outras existentes
Publicar imagens em registros remotos
Tarefas
1.3.1 - Construir Novas Imagens
Além de consumir imagens já prontas, podemos construir nossas próprias imagens. Para isso, precisamos criar um arquivo chamado Dockerfile, onde especificamos todas as etapas de construção da nova imagem a partir de diretivas. As mais comuns são:
LABEL: Pode ser usado para adicionar metadados à imagem (autor, versão, descrição).
FROM: Especifica qual imagem será usada como base.
RUN: Executa comandos dentro da imagem.
ADD/COPY: Adiciona arquivos/diretórios dentro da imagem.
EXPOSE: Especifica quais serviços de rede serão expostos.
USER: Determina qual o usuário será usado para execução dos comandos.
CMD: Especifica qual o comando que será executado por padrão na nova imagem.
Para essa atividades, vamos criar os seguintes diretórios:
No subdiretório ~/workshop-openshift/lab1.3/src
, vamos adicionar dois arquivos, app.py
e requirements.txt
, com os seguintes conteúdos (respectivamente):
e
Para agilizar a criação dos arquivos, basta executar os comandos abaixo:
e
Na raiz do diretório ~/workshop-openshift/lab1.3/
, vamos adicionar um arquivo de texto com nome Dockerfile
com o seguinte conteúdo:
Para agilizar a criação do arquivos, podemos utilizar:
Para iniciarmos o processo de construção da nova imagem, usa-se:

Valide se sua imagem está funcionando corretamente por meio do comando:
A saída desse comando é algo como:

Verifique a sua imagem nova no registro local:

Podemos ver que é a nossa imagem que foi construida recentemente conforme destacado na foto acima.
1.3.2 - Publicar Imagens no Registry
Para publicar uma imagem em um registro remoto, muitas das vezes é necessário autenticação. Para tal, usamos:
note: caso não possua uma conta no Docker Hub, acesse https://hub.docker.com/register e crie um conta pessoal.
Depois de autenticados, precisamos colocar um tag na nossa imagem usando a convenção registry/username/image:tag
:
E depois já podemos enviar nossa imagem:
Last updated