Ir para o conteúdo
  • Empresa
    • SOBRE NÓS
    • TRABALHE CONOSCO
  • Soluções
    CONSULTORIA CLOUD
    • GET STARTED
    • DESIGN
    • IMPLANTAÇÃO
    MIGRAÇÃO
    SQUAD AS A SERVICE
    WELL ARCHITECTED
    SEGURANÇA E COMPLIANCE
    • MSSP
    • SECAAS
    • OFFENSIVE ACTIONS
    • SRT
    • REVENDA
    BIG DATA & MACHINE LEARNING
    • Analytics
    • AI/ML
    SERVIÇOS GERENCIADOS
    • MONITORAMENTO E SUPORTE 24X7
    • DAREDE MSP
    • GERENCIAMENTO DEVOPS
    • GERENCIAMENTO DEVSECOPS
    • GERENCIAMENTO FINOPS
    • GERENCIAMENTO DE BANCO DE DADOS
    • GERENCIAMENTO DE PABX IP
    • LICENCIAMENTO DE SOFTWARE
    COMPETÊNCIAS AWS
    • AWS CLOUD FRONT
    • AWS AURORA
    • AMAZON RDS
    • DEVOPS
    • MICROSOFT WORKLOADS
    • MIGRATION
    • PUBLIC SECTOR
    • PUBLIC SECTOR NPO
    • PUBLIC SECTOR EDUCATION
    • WELL ARCHITECTED
    • VMWARE CLOUD ON AWS
    • API GATEWAY
    • LAMBDA
    • NETWORKING ON AWS
    • FINANCIAL SERVICES
  • Cases
  • Blog
Darede Portugal
  • Fale Conosco
  • Canal Compliance
  • Seja Parceiro Autorizado
Continuando nossa série sobre Docker e containers, nosso #cloudspecialist Thiago Marques está de volta para explicar o conceito de DockerFile

O pai tá on!!
Após uma pequena explicação da arquitetura do docker, podemos avançar em pontos mais interessantes, por isso agora falaremos sobre como criar nossas próprias imagens.
Vamos utilizar um exemplo de uma aplicação simples de CRUD que efetua cadastro de clientes, e já estamos utilizando um container em ubuntu. Contudo algumas coisas ainda são manuais e demandam muito tempo para realizar o deploy como:
1. Fazer o upgrade dos pacotes do SO;
2. Instalar os requisitos para a aplicação (banco, python e flask);
3. Copiar os arquivos da aplicação para dentro do container;
4. Configurar a aplicação com os parâmetros necessários;
5. Efetuar o deploy da aplicação;
Veja que todas essas alterações feitas depois que se sobe o container levam tempo, e partindo de uma lógica que uma das razões de utilizá-lo é justamente para se ganhar agilidade, acaba se tornando contra produtivo.
Assim, para otimizar esses trabalhos, vamos construir uma imagem com base no ubuntu já com nossa aplicação instalada utilizando o Dockerfile para fazer o build.

O que é DockerFile, e como funciona?

Dockerfile é a forma de criar nossas próprias imagens, com as características necessárias para a aplicação funcionar. Lembre-se que uma IMAGEM é imutável, seria como se fosse um template para subir um container, ou seja, você sempre vai precisar de uma imagem para realizar essa ação.
Ele funciona basicamente como um ‘livro de receitas’ onde é executada cada instrução em top-down, criando para cada instrução um step. Depois do arquivo criado, você executa o build, que criará uma nova imagem, e assim poderá utilizar a imagem já pronta com sua aplicação.

Fonte

Instruções no Dockerfile

Existem diversas instruções que podem ser usadas no dockerfile, contudo vamos focar nas principais. Para isso utilizaremos o exemplo abaixo:

Agora analisando cada comando/instrução dentro do Dockerfile, temos:
• FROM
o Instrução obrigatória. É nela que temos a imagem base. Entenda ela como o SO que você vai utilizar no container, sendo que ele já pode vir com alguma aplicação instalada (um node.js por exemplo).
• LABEL:
o Insere um metadado na imagem. Nesse caso adicionei quem é o responsável pela aplicação.
• RUN:
o Instrução para rodar comandos dentro do container, e pode ser utilizada mais de uma vez. Todos os comandos que você utiliza o RUN são executados na criação da imagem, e não na criação do container. Assim você não precisa executá-los novamente quando o container é criado.
• EXPOSE:
o Instrução um tanto quando interessante. Ela tem uma função diferente do docker-compose, onde de fato você expõe a porta da aplicação. No Dockerfile, ela NÃO faz isso. Aqui ela basicamente funciona para documentar em qual porta a aplicação vai funcionar. Para expor de fato a porta você vai precisar do ‘-p’ no docker run, ou do expose no docker-compose.
• WORKDIR:
o Instrução que indica em qual pasta as instruções de CMD, RUN, ADD, COPY etc. vão usar para executar suas tarefas. Ela também vai servir para definir qual diretório será aberto quando o container iniciar.
• CMD:
o Instrução que é executada quando o container se inicia. Note que o CMD (e o ENTRYPOINT) são instruções que são executadas no pós, e não na criação da imagem. No caso do CMD você pode ter mais de um no Dockerfile, contudo ele só executa o último (o ENTRYPOINT faz a mesma coisa, mas não sobre escreve);

Outras instruções no Dockerfile

Além dessas instruções, existem outras que podem ser interessantes quando você está criando uma imagem, cito-as:
• ADD
o Faz a cópia de arquivos locais ou externos para dentro do container. Dessa forma você pode copiar arquivos de URLs, e até mesmo descompactar automaticamente arquivos que estão em .tar.
• COPY
o Faz cópia de arquivos locais para dentro do container. Note que aqui você não tem opção de fazer download e/ou descompactação.]
• ENV
o Seta variáveis de ambiente dentro que estarão disponíveis dentro do container.
• ARG
o Também seta variáveis de ambiente, contudo apenas durante o build. Útil por exemplo, se você precisa definir um HTTP_PROXY apenas durante o build.

That’s all folks! Be Happy!!!

OUTRAS PUBLICAÇÕES

Darede – AWS Consulting Partner of the Year 2021 (English Version)

The APN Awards is Amazon Web Services’ recognition of the top partners in different regions around the world who in 2020 helped their customers build technology solutions for their organizations, driving digital transformation and innovation using AWS cloud services. The winners of this award have demonstrated practically how it is possible to provide the best experience in the world of cloud computing and turn it into a positive impact on businesses worldwide.

Cloud Computing: Tendências

Nos últimos anos, a cloud foi uma das áreas que mais cresceram, e a expectativa futura é ainda mais animadora. Confira o artigo sobre suas tendências.

Rotina Eficiente: Maximização de Resultados e Redução de Estresse

Descubra como uma rotina eficiente em TI pode melhorar a qualidade do trabalho, levando a resultados otimizados e maior satisfação profissional.

Descomplicando Rede e Conectividade – Parte 2

Confira a segunda parte do artigo sobre Descomplicando redes e conectividade. Escrito por Flávio Rescia

Novidades da Semana – 01 a 05 de fevereiro

Todos os dias a AWS lança uma série novidades e atualizações em seus produtos que visam melhorar a vida de seus usuários. Reunimos algumas delas

FRRouting com Docker

Em mais um artigo sobre container, nosso #cloudspecialist Thiago Marques agora traz um overview sobre FRRouting com Docker. Confere aí!

« Anterior Página1 Página2 Página3 Página4 Página5 Página6 Página7 Página8 Página9 Página10 Próxima »
  • E-books
  • Blog
Conecte-se conosco
Mais
  • Fale Conosco
  • Canal Compliance
  • Seja Parceiro Autorizado
  • Governança Corporativa

Escritórios

  • Alameda Araguaia, 2044 - Bloco 1 - CJ 210/211 06455-000 - Alphaville, Barueri São Paulo - Brasil
  • Dabi Business Park - R. Gen. Augusto Soares dos Santos, 100 - Parque Industrial Lagoinha Ribeirão Preto, São Paulo, 14095
  • Avenida Bombeiros Voluntários de Algés 44 Lisbon , Algés, 1495 Oeiras
  • +55 11 3900-1010 | 3995-6919
newsletter
  • Política de Privacidade e Cookies
  • Perguntas Frequentes
© Copyright 2025 Darede à nuvem
Todos os direitos reservados | By Damidia Marketing & Conteúdo
Rolar para cima

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações

ACEITAR & FECHAR
RECUSAR