0% acharam este documento útil (0 voto)
37 visualizações6 páginas

Trabalho Containers

Enviado por

alyeldav
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
37 visualizações6 páginas

Trabalho Containers

Enviado por

alyeldav
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

Slide 1

“Construção de um servidor web com containers, Integração de Banco de Dados e


Provisionamento de Recursos” 2ªipia

Slide 2

Participantes: Alyel – Pesquisa, Ana Carolina – Edição, Ariane – Slides, Daniela –


Pesquisa, Letícia – Slides, Thaíres – Pesquisa.

Slide 3

“Introdução”

O que são containers e sua importância no desenvolvimento?

É uma espécie de tecnologia de virtualização leve que permite empacotar uma aplicação
juntamente com todas as suas dependências (bibliotecas, configurações e arquivos
necessários) em um único pacote correspondente. Diferente de máquinas virtuais, que
incluem um sistema operacional complete.

O que é Docker?

Para usar containers, geralmente utilizamos o Docker. O Docker é o coração da configuração


de um container. Ele define o ambiente do container e como sua aplicação será executada.
Ele é uma plataforma que permite criar, gerenciar e executar containers de maneira
eficiente

Slide 4

O servidor web será criado utilizando a imagem oficial do Nginx.

Comandos para Usar Docker com Servidor Web

1. Baixar e executar a imagem oficial do Nginx:

docker run -d -p 80:80 nginx

docker run: Executa um novo container.


-d: Modo "detached" (em segundo plano).

-p 80:80: Mapeia a porta 80 do host (servidor) para a porta 80 do container.

nginx: Nome da imagem que será utilizada. Se ela não estiver localmente, o Docker a baixa
do Docker Hub.

Slide 5

2. Criar uma imagem personalizada com Dockerfile:

Exemplo de Dockerfile para um servidor Node.js:

IMAGEM

FROM node:16: Define a imagem base como Node.js versão 16.

WORKDIR /usr/src/app: Define o diretório de trabalho no container.

COPY package*.json ./: Copia os arquivos de dependências do Node.js para o container.

RUN npm install: Instala as dependências.

COPY . .: Copia o restante do código da aplicação.

EXPOSE 3000: Expõe a porta 3000 do container.

CMD ["node", "server.js"]: Comando para executar o servidor ao iniciar o container.

Comandos para construir e executar o container:

Construir a imagem:

IMAGEM

docker build -t meu-servidor-web .

docker build: Constrói uma imagem a partir do Dockerfile.

-t meu-servidor-web: Define um nome/tag para a imagem.

“.” Indica que o Dockerfile está no diretório atual.


Slide 6

Configuração de uma rede Docker, e conexão do servidor web ao banco de dados para
permitir comunicação:

No Docker, as redes são utilizadas para interligar containers. Ao criar uma rede
personalizada, todos os containers conectados a ela podem se comunicar

Conectar o servidor web à rede:

Conectar o banco de dados à rede:

meu-servidor-web: Nome do container do servidor web.

meu-banco: Nome do container do banco de dados.

Agora ambos os containers estão conectados na mesma rede e podem se comunicar usando
seus nomes de container.

Slide 7

Limitação de recursos

É possível restringir a quantidade máxima de memória RAM que um contêiner pode usar.

memory="256m": Limite de uso de memória a 256 MB.

Containers que tentarem consumir mais memória serão pausados para evitar falhas no
sistema.
Você também pode limitar a quantidade de CPU que um contêiner pode consumir. O Docker
permite especificar o número de núcleos que o contêiner pode utilizar.

pus="1.0": Limita o container a usar apenas 1 núcleo de CPU.

Slide 8

Importância do Gerenciamento de Recursos

 Evitar sobreccaregar

Sem limitação, um container mal configurado ou sobrecarregado pode consumir todos os


recursos do sistema e prejudicar outros serviços.
Isto é importante em ambientes de produção onde a estabilidade é essencial.

 Previsibilidade

Ao limitar os recursos, o desempenho do contêiner é mais previsível e você pode estimar


melhor a capacidade do host.

 Redução de custos

Em ambientes de nuvem, você paga pelos recursos que utiliza. O controle de CPU e memória
reduz custos desnecessários.

 Otimização de desempenho

Ao limitar os recursos, é possível organizar solicitações importantes e manter a qualidade


do serviço.

Slide 9

O uso de containers mudou a forma como as aplicações são desenvolvidas, distribuídas e


gerenciadas. Eles oferecem muitos benefícios para atender às necessidades dos ambientes
modernos de desenvolvimento e produção
 Segurança:
o Cada container é isolado e as vulnerabilidades e falhas em outros
serviços em um único host têm impacto mínimo. Além disso, a rede interna do
Docker garante que a comunicação entre contêineres seja perfeita.

 Reprodutibilidade:
Ambientes de desenvolvimento e produção consistentes,
eliminando dependências ou problemas de incompatibilidade.

 Agilidade:
o Com containers, o ciclo de vida de desenvolvimento é
acelerado. As alterações podem ser feitas rapidamente, testadas em um ambiente
isolado e implementadas sem interromper os serviços.

Slide 10

Ao longo do trabalho, foi demonstrada a construção de um serviço web baseado em


containers, incluindo a integração de um banco de dados e o provisionamento de recursos.
Essa abordagem moderna não apenas resolve desafios de compatibilidade e escalabilidade,
mas também reduz custos operacionais e simplifica a gestão de sistemas complexos.

O uso de containers é uma prática essencial para organizações que buscam agilidade,
confiabilidade e inovação no desenvolvimento e operação de software.

Slide 11

Obrigada por assistir!

Você também pode gostar