Construindo Imagens Docker Personalizadas com Dockerfiles
Criando um Dockerfile
Para construir uma imagem Docker personalizada, precisará criar um Dockerfile. Comece criando um novo ficheiro chamado Dockerfile no diretório do seu projeto. Este ficheiro conterá as instruções para construir a sua imagem Docker.
Construindo a Imagem Docker
Depois de ter o seu Dockerfile pronto, pode construir a imagem Docker usando o comando docker build:
docker build -t labex/my-app:latest .
Este comando lerá o Dockerfile, executará as instruções e criará uma nova imagem Docker com o nome labex/my-app:latest. O . no final do comando especifica o contexto de construção, que é o diretório onde o Dockerfile está localizado.
Compreendendo o Processo de Construção
Quando executa o comando docker build, o Docker executará as instruções do Dockerfile passo a passo. Cada instrução criará uma nova camada na imagem, e o Docker utilizará o cache da imagem para otimizar o processo de construção.
graph TD
A[Dockerfile] --> B[Passo de Construção 1]
B --> C[Passo de Construção 2]
C --> D[Passo de Construção 3]
D --> E[Imagem Docker]
Etiquetagem e Publicação da Imagem
Após a construção da imagem, pode etiquetá-la com uma versão específica ou rótulo e, em seguida, publicá-la num registo Docker, como o Docker Hub, para que outros a possam utilizar.
## Etiquetar a imagem
docker tag labex/my-app:latest labex/my-app:v1.0
## Publicar a imagem no Docker Hub
docker push labex/my-app:v1.0
Puxar e Executar a Imagem
Uma vez que a imagem esteja disponível num registo, pode puxá-la e executar um contêiner baseado na imagem:
## Puxar a imagem do Docker Hub
docker pull labex/my-app:v1.0
## Executar um contêiner a partir da imagem
docker run -p 8000:8000 labex/my-app:v1.0
Na próxima seção, discutiremos como otimizar as camadas do Dockerfile para uma melhor eficiência.