Docker e Kubernetes

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

O Docker simplifica a criação de imagens e a execução de contêineres, mas não contribui para tarefas de resiliência.

False (B)

Kubernetes é usado para gerenciar aplicações em diferentes ambientes, garantindo alta disponibilidade e escalabilidade.

True (A)

No Docker, o Dockerfile define a configuração da imagem, enquanto o Docker Swarm define a configuração do contêiner.

False (B)

O comando docker run é usado para criar um novo Dockerfile.

<p>False (B)</p> Signup and view all the answers

Um benefício do Docker é a capacidade de garantir ambientes de desenvolvimento consistentes com a produção.

<p>True (A)</p> Signup and view all the answers

Kubernetes ajuda a manter as aplicações rodando de forma escalável mesmo em caso de falhas.

<p>True (A)</p> Signup and view all the answers

Em Kubernetes, um Service fornece um IP dinâmico para os Pods, o que dificulta a comunicação entre eles.

<p>False (B)</p> Signup and view all the answers

Comandos como docker ps e docker stop permitem gerenciar contêineres, enquanto o comando docker-compose up permite gerenciar projetos Docker.

<p>True (A)</p> Signup and view all the answers

O Kubernetes e Docker são ferramentas que possuem as tarefas para provisionar, construir e implantar sistemas

<p>False (B)</p> Signup and view all the answers

Um pod deve ser isolado e impossibilitado de acesso a aplicações externas

<p>False (B)</p> Signup and view all the answers

Para configurar a comunicação entre os containers WebJus de forma simplis, Maria criou a rede Docker NetJus, que exige que os containers estejam rodando no mesmo servidor.

<p>False (B)</p> Signup and view all the answers

Serveless é uma tecnologia que utiliza o provisionamento de servidores, alocação de recursos, gerenciamento de memória e outros recursos que ficam sob a responsabilidade do desenvolvedor full stack

<p>False (B)</p> Signup and view all the answers

Com Docker, é possível escalar aplicações rapidamente distribuindo múltiplos contêineres, mas apenas dentro do mesmo servidor.

<p>False (B)</p> Signup and view all the answers

Containers Docker possuem um multi level security no sistema operacional do host e os recursos físicos que são gerenciados por um hypervisor compartilhado.

<p>False (B)</p> Signup and view all the answers

O Docker Compose permite definir e gerenciar múltiplos contêineres em ambientes distintos como desenvolvimento e produção

<p>False (B)</p> Signup and view all the answers

No arquivo.gitlab-ci.yml é utilizado para documentar quais imagens do Photoshop serão utilizadas caso uma determinada falha ocorra

<p>False (B)</p> Signup and view all the answers

A vantagem do Docker seria o melhor tempo de execução de software

<p>True (A)</p> Signup and view all the answers

É correto afirmar que cada pod possui sua unidade lógica de armazenamento sendo imutável

<p>False (B)</p> Signup and view all the answers

Rancher é uma ferramenta utilizada exclusivamente para criar arquivos de configuração

<p>False (B)</p> Signup and view all the answers

Cada contêiner não possui a sua própria network stack seguindo as regras da aplicação.

<p>True (A)</p> Signup and view all the answers

Se o objetivo fosse remover o pod garantindo o encerramento adequado do contêiner,o comando correto seria kubectl delete pod sem os parâmetros --grace-period=0 e --force

<p>True (A)</p> Signup and view all the answers

Uma das estratégias para reduzir o tamanho de imagens Docker consiste em separar comandos RUN complexos em comandos menores , para facilitar a identificação de erros.

<p>False (B)</p> Signup and view all the answers

O Kubelet é um tipo de API utilizado para se comunicar o cluster Kubernetes

<p>False (B)</p> Signup and view all the answers

A principal vantagem de utilizar as ferramentas de contêiner como Docker, é possuir funcionalidades para gerenciar grande quantidade de dados em diferentes espaços na memória RAM

<p>False (B)</p> Signup and view all the answers

Ambas as ferramentas Docker e Kubernetes, oferecem alta portabilidade, permitindo que aplicações rodem em diferentes ambientes.

<p>True (A)</p> Signup and view all the answers

Docker Machine é usado para criar e gerenciar hosts Docker em máquinas locais e em ambientes de nuvem.

<p>True (A)</p> Signup and view all the answers

Se a aplicação falhar e não responder ao endpoint/health, o Dockerfile automaticamente reiniciará o contêiner, garantindo sua recuperação sem necessidade de intervenção manual.

<p>False (B)</p> Signup and view all the answers

Num ambiente com o Docker, ao criar arquivos muito grandes, haverá problemas de desempenho do servidor

<p>False (B)</p> Signup and view all the answers

As ferramentas Docker, tem restrições quanto ao sistema operacional, sendo compatíveis somente com a distribuição LINUX

<p>False (B)</p> Signup and view all the answers

A principal diferença entre Docker e Kubernetes está no fato de que o Docker não deve ser executado em um cluster, enquanto o Kubernetes também

<p>False (B)</p> Signup and view all the answers

Um dos propósitos da ferramenta Docker, no contexto de desenvolvimento de pipelines para aprendizado de máquina, causa uma melhoria na segurança do ambiente de desenvolvimento

<p>True (A)</p> Signup and view all the answers

Caso a política de segurança da informação permita, é possível acessar o volume de um contêiner ativo.

<p>True (A)</p> Signup and view all the answers

Tanto o Docker quanto os sistema de virtualização utilizam o gerenciamento de segurança de nível kernel

<p>False (B)</p> Signup and view all the answers

O Docker swarm não é uma ferramenta utilizada para criação de imagens.

<p>True (A)</p> Signup and view all the answers

A ferramenta de Docker Swarm, pode criar um exército se necessário com um hardware novo, mantendo-se o sistema em produção.

<p>True (A)</p> Signup and view all the answers

Após a criação, os Dockerfiles podem ser versionados, otimizados e distribuídos para diferentes grupos de desenvolvedores, desde que as alterações sejam conhecidas

<p>True (A)</p> Signup and view all the answers

Não é possível criar uma aplicação que requer diferentes bancos de dados no kubernetes

<p>False (B)</p> Signup and view all the answers

Mesmo sendo de código aberto, a ferramenta de criação de containers Docker, não é uma mais robusta de segurança

<p>False (B)</p> Signup and view all the answers

Com o Docker, uma vez que a imagem e os contêineres estão construídos, não é possível criar outras funções

<p>False (B)</p> Signup and view all the answers

Todos os membros da equipe, tem acesso direto de criação de imagens e versionamento do docker

<p>False (B)</p> Signup and view all the answers

Utilizando containers como Doker, a aplicação deixa de trabalhar os recursos disponíveis do hardware

<p>False (B)</p> Signup and view all the answers

Para acompanhar a saída de logs e diagnosticar possíveis vulnerabilidades nos pods, não é permitido especificar o nome do contêiner dentro do Pod

<p>False (B)</p> Signup and view all the answers

Flashcards

O que é Docker?

Virtualização leve baseada em contêineres para executar aplicações de forma consistente.

O que é Kubernetes?

Automatiza a implantação, escalonamento e gerenciamento de aplicações distribuídas em clusters.

O que é um Dockerfile?

Arquivo para definir a configuração de um contêiner Docker.

Portabilidade no Docker

Garante que aplicações rodem de forma consistente em diferentes ambientes.

Signup and view all the flashcards

Consistência no Docker

Evita problemas de compatibilidade, garantindo versões consistentes de bibliotecas.

Signup and view all the flashcards

Eficiência no Docker

Compartilham o kernel do SO, tornando-os mais leves que VMs.

Signup and view all the flashcards

Escalabilidade no Docker

Possibilita a distribuição rápida de contêineres em vários servidores.

Signup and view all the flashcards

Gestão de dependências no Docker

Inclui todas as dependências da aplicação.

Signup and view all the flashcards

docker run

Cria e inicia um contêiner a partir de uma imagem existente.

Signup and view all the flashcards

docker ps

Lista os contêineres em execução.

Signup and view all the flashcards

docker exec

Acessa o terminal de um contêiner em execução.

Signup and view all the flashcards

O que é um Pod?

Para um pod, é a menor unidade de implantação no Kubernetes.

Signup and view all the flashcards

O que é um Deployment?

Gerencia a criação, atualização e escalabilidade de Pods.

Signup and view all the flashcards

O que é um Service?

Fornece um IP fixo e DNS estável para acessar um conjunto de Pods.

Signup and view all the flashcards

O que são ConfigMaps e Secrets?

Armazenam variáveis de ambiente e configurações seguras.

Signup and view all the flashcards

O que é um Ingress?

Gerencia o acesso externo aos serviços dentro do cluster.

Signup and view all the flashcards

kubectl create deployment

Cria um Deployment no Kubernetes.

Signup and view all the flashcards

kubectl get pods

Lista os Pods em execução no cluster.

Signup and view all the flashcards

kubectl logs

Exibe os logs de um Pod.

Signup and view all the flashcards

kubectl delete pod

Remove um Pod.

Signup and view all the flashcards

kubectl expose deployment

Cria um Service para expor um Deployment.

Signup and view all the flashcards

Docker Compose

Define e gerencia múltiplos contêineres utilizando um arquivo YAML.

Signup and view all the flashcards

Docker Swarm

Orquestração de contêineres nativa do Docker para múltiplos nós.

Signup and view all the flashcards

Study Notes

Docker e Kubernetes

  • Docker e Kubernetes são tecnologias essenciais para modernizar e escalar aplicações de maneira eficiente e portátil.
  • Docker fornece virtualização leve com contêineres, garantindo que aplicações rodem consistentemente em qualquer infraestrutura, independentemente do sistema operacional.
  • Kubernetes atua como orquestrador de contêineres, automatizando a implantação, escalonamento e gerenciamento de aplicações distribuídas.
  • A combinação do Docker com o Kubernetes oferece diversos benefícios, como maior eficiência operacional, automação de tarefas e resiliência contra falhas.
  • Comandos do Docker como docker build, docker run e docker-compose facilitam a criação de imagens e a execução de contêineres , enquanto Kubernetes utiliza kubectl para gerenciar pods, deployments e serviços.
  • Boas práticas como arquivos YAML e pipelines CI/CD garantem agilidade e segurança no desenvolvimento.

Docker

  • O Docker é uma plataforma de conteinerização de código aberto que revolucionou o desenvolvimento, implantação e execução de aplicações.
  • Ele empacota softwares com todas as suas dependências em unidades isoladas chamadas contêineres.
  • Os contêineres Docker compartilham o kernel do sistema operacional, tornando a execução leve, rápida e eficiente em comparação com as máquinas virtuais.
  • Desenvolvedores criam Dockerfiles para definir a configuração dos contêineres, o que gera imagens que podem ser armazenadas localmente ou em Docker Registries como o Docker Hub.
  • O Docker Daemon gerencia a execução dos contêineres e interage com a Docker CLI/API.
  • Cada contêiner é uma instância da imagem e pode acessar volumes para persistência de dados e redes para comunicação.
  • Docker Network e Volumes garantem a conectividade e o armazenamento entre os contêineres.
  • O Docker padroniza ambientes, reduzindo problemas de compatibilidade, agilizando a entrega contínua de software, e facilitando a manutenção de aplicações.
  • A integração com ferramentas de orquestração como Kubernetes possibilita a escalabilidade automatizada.

Benefícios do Docker

  • Docker proporciona portabilidade, eficiência e escalabilidade, permitindo que desenvolvedores criem ambientes isolados e reprodutíveis.
  • Os contêineres Docker podem ser executados em qualquer ambiente compatível, garantindo flexibilidade e facilidade na migração entre sistemas operacionais e plataformas.

Exemplo Prático de Portabilidade

  • Para criar e rodar um contêiner do Nginx:
    • docker pull nginx (baixa a imagem oficial do Nginx)
    • docker run -d -p 8080:80 nginx (executa o contêiner mapeando a porta 80 para 8080)
  • O ambiente de desenvolvimento é idêntico ao de produção, evitando conflitos e garantindo versões consistentes de bibliotecas e configurações.

Exemplo Prático de Dockerfile

  • Para criar um ambiente Node.js:
    • FROM node:16
    • WORKDIR /app
    • COPY package.json .
    • RUN npm install
    • COPY . .
    • CMD ["node", "server.js"]
  • Rodar docker build -t minha-app . e docker run minha-app assegura um ambiente consistente em qualquer sistema.
  • Os contêineres compartilham o kernel do sistema operacional, reduzindo o consumo de memória e CPU.

Exemplo Prático de Eficiência no Uso de Recursos

  • Para verificar o consumo de recursos de um contêiner:
    • docker stats (exibe CPU, memória e uso de rede dos contêineres ativos)
  • O Docker possibilita escalar aplicações rapidamente, distribuindo contêineres em diferentes servidores ou com ferramentas como Docker Swarm e Kubernetes.

Exemplo Prático de Escalabilidade

  • Para criar múltiplas instâncias de um contêiner:
    • docker run -d --name app1 minha-app
    • docker run -d --name app2 minha-app
    • docker run -d --name app3 minha-app
  • As dependências da aplicação estão contidas no contêiner, eliminando problemas de compatibilidade e reduzindo a necessidade de configuração manual.

Exemplo Prático de Gestão Facilitada de Dependências

  • Para rodar um banco de dados MySQL sem instalação no sistema:
    • docker run --name meu-mysql -e MYSQL_ROOT_PASSWORD=12345 -d mysql:5.7
  • O Docker oferece agilidade, eficiência e confiabilidade, tornando-se essencial para DevOps e arquiteturas modernas, e otimizando o uso de recursos computacionais.

Comandos Essenciais do Docker

  • O Docker oferece comandos para criação, gerenciamento e remoção de contêineres e imagens.
  1. Criar e Executar um Contêiner
  • Para iniciar um contêiner a partir de uma imagem existente.
  • Usar o comando docker run.
  • A opção -d permite a execução em segundo plano
  • A opção --name define um nome.
  • Ex: dock run -d --name meu_container minha_imagem
  1. Listar Contêineres em Execução
  • Para visualizar contêineres ativos.
  • Usar o comando docker ps.
  • A saída mostra o ID, imagem utilizada, status e portas.
  1. Listar Todos os Contêineres
  • Para verificar contêineres ativos, interrompidos ou finalizados.
  • Usar a flag -a.
  • Ex: docker ps -a
  1. Acessar o Terminal de um Contêiner em Execução
  • Para interagir diretamente com um contêiner.
  • Usar docker exec.
  • O parâmetro -it permite interação ao vivo
  • O comando /bin/sh ou /bin/bash um shell
  • Ex: docker exec -it meu_container /bin/sh
  1. Parar e Remover um Contêiner
  • Para liberar recursos do sistema
  • Usar os comandos docker stop meu_container (para parar)
  • Usar os comandos docker rm meu_container (para remover)
  1. Remover Imagens Não Utilizadas
  • Para manter o ambiente limpo e evitar o desperdício de armazenamento
  • Usar o comando docker image prune -a
  • Permite a gestão eficiente de contêineres, a capacidade de listar contêineres ativos, acessar seus terminais e realizar limpezas periódicas minimiza o ambiente.

O que é o Kubernetes?

  • Kubernetes (K8s) é uma plataforma de orquestração de contêineres de código aberto que automatiza a implantação, escalonamento e gerenciamento de aplicações.
  • Criado originalmente pelo Google e doado à Cloud Native Computing Foundation (CNCF), o Kubernetes é um padrão para gerenciar workloads conteinerizados, permitindo operar serviços de forma automatizada, resiliente e escalável.
  • O Kubernetes permite administrar múltiplos contêineres distribuídos em clusters de servidores, garantindo alta disponibilidade através de balanceamento de carga, auto-recuperação de falhas e escalabilidade automática, além de facilitar a implantação contínua (continuous deployment) com atualizações sem tempo de inatividade.
  • Componentes como Pods, Deployments, Services, ConfigMaps e Secrets possibilitam a construção de arquiteturas modernas baseadas em microsserviços e computação em nuvem.

Benefícios do Kubernetes

  • O Kubernetes automatiza a gestão de aplicações distribuídas permitindo a implantação, escalabilidade e manutenção de forma eficiente e resiliente.
  • Permite gerenciar cargas de trabalho complexas com intervenção manual mínima, otimizando recursos e garantindo alta disponibilidade.

Automatização da Gerência de Contêineres

  • O Kubernetes automatiza a implantação, escalonamento e monitoramento, utilizando Deployments, ReplicaSets e Controllers que monitoram continuamente os Pods.

Exemplo prático

  • Para criar um Deployment:
    • Criar um Deployment para gerenciar a execução de Pods
    • Ex: apiVersion: apps/v1, kind: Deployment, metadata: name: minha-app, spec: replicas: 3, selector: matchLabels: app: minha-app, template: metadata: labels: app: minha-app, spec: containers: name: minha-app, image: minha-imagem
  • Garante a existência de três réplicas da aplicação substituindo automaticamente qualquer Pod que falhar.
  • O Kubernetes permite ajustar automaticamente a quantidade de recursos alocados com base na demanda e utilizando o Horizontal Pod Autoscaler (HPA).

Exemplo Prático

  • Para configurar um HPA para escalar automaticamente:
    • Através do uso de CPU
    • Ex: kubectl autoscale deployment minha-app --cpu-percent=50 --min=2 --max=10.
  • Isso instrui o Kubernetes a manter entre 2 e 10 réplicas com base na carga de trabalho.
  • Kubernetes aloca recursos de forma inteligente dentro do cluster, impedindo que um único aplicativo consuma toda a CPU ou memória disponível, além de permitir definir Requests e Limits para cada Pod.

Exemplo Prático

  • Para definir limites de recursos para um contêiner:
  • apiVersion: v1, kind: Pod, metadata: name: pod-com-limites, spec: containers: name: meu-app, image: minha-imagem, resources: requests: memory: "128Mi”, cpu: "250m”, limits: memory: "512Mi”, cpu: “500m”
  • O Kubernetes mantém as aplicações rodando de forma estável mesmo em caso de falhas, utilizando ReplicaSets, Probes e Node Failover.
  • Se um Pod falhar, um novo é criado automaticamente, e se um nó ficar indisponível, os Pods são redistribuídos.

Exemplo Prático

  • Utilizando livenessProbe para verificar a saúde de um contêiner
  • Através do uso de apiVersion: v1, kind: Pod, metadata: name: meu-app, spec: containers: name: minha-app, image: minha-imagem, livenessProbe: httpGet: path: /health, port: 8080, initialDelaySeconds: 3, periodSeconds: 5
  • O Kubernetes traz inúmeros benefícios tornando a implantação e gerenciamento eficientes e resilientes, e possibilita empresas manter alta disponibilidade, otimizar custos e ter maior controle sobre seus serviços distribuídos.

Componentes do Kubernetes

  • O Kubernetes organiza e gerencia a execução de aplicações distribuídas usando diversos componentes estruturais:
  1. Pods: A Unidade Básica de Execução
  • Os Pods são a menor unidade de implantação e representam um ou mais contêineres que compartilham o mesmo espaço de execução.

Exemplo Prático

  • Criando um Pod manualmente via YAML
    • Ex: apiVersion: v1, kind: Pod, metadata: name: meu-pod, spec: containers: name: meu-container, image: nginx
  1. Deployments: Controle de Atualizações e Escalabilidade
  • Os Deployments gerenciam a criação, atualização e escalabilidade dos Pods, garantindo que um determinado número de réplicas esteja sempre ativo.

Exemplo Prático

  • Para criar um Deployment para manter 3 réplicas de um Pod
    • Ex: apiVersion: apps/v1, kind: Deployment, metadata: name: minha-app, spec: replicas: 3, selector: matchLabels: app: minha-app, template: metadata: labels: app: minha-app, spec: containers: name: minha-app, image: minha-imagem
  1. Services: Comunicação e Balanceamento de Carga
  • Fornecem um endereço IP fixo e um nome DNS estável para acessar um conjunto de Pods, permitindo o balanceamento de carga

Exemplo Prático

Para expor os Pods de um Deployment através de: - apiVersion: v1, kind: Service, metadata: name: minha-app-service, spec selector: app: minha-app, ports: protocol: TCP, port: 80, targetPort: 8080, type: ClusterIP 4. ConfigMaps e Secrets: Gerenciamento Seguro de Configurações

  • ConfigMaps: Armazena variáveis de ambiente e configurações sensíveis.
  • Secrets: Armazenam credenciais de forma criptografada.

Exemplo Prático

  • Para criar um ConfigMap:
    • Criando um ConfigMap com configurações para um Pod
    • Ex: apiVersion: v1, kind: ConfigMap, metadata: name: minha-config, data: DB_HOST: “meu-banco”,APP_MODE: “production”
  • Ex: Criando um Secret para armazenar credenciais
    • apiVersion: v1, kind: Secret
    • metadata: name: meu-segredo, type: Opaque, data: senha: c2VuaGEyMw== # (valor codificado em Base64)
  1. Ingress: Controle de Acesso Externo, permite definir regras de roteamento, redirecionamentos e balanceamento de carga, por exemplo:

Exemplo Prático

  • Criando um recurso Ingress para expor o serviço na Internet:
    • apiVersion: networking.k8s.io/v1, kind: Ingress, metadata: name: meu-ingress, spec: rules: host: minha-aplicacao.com, http: paths: path: /, pathType: Prefix, backend: service: name: minha-app-service, port: number: 80
  • Os componentes do Kubernetes trabalham juntos para garantir um ambiente escalável, resiliente e seguro para aplicações distribuídas, e garante acesso externo seguro e controlado.
  • Os Pods fornecem a unidade de execução, os Deployments a replicação/atualização, e os Services garantem a comunicação.

Comandos Essenciais do Kubernetes

  • Kubernetes é uma plataforma de orquestração com comandos essenciais para administrar clusters:
  1. Criar um Deployment:
  • Para gerenciar a criação e atualização de Pods.
  • Ex: kubectl create deployment minha_app --image=minha_imagem
  1. Listar Pods em Execução:
  • Permite verificar os Pods ativos no cluster
  • Ex: kubectl get pods
  1. Verificar Logs de um Pod:
  • Ajuda a identificar erros e analisar o comportamento da aplicação em tempo real.
  • Ex:kubectl logs nome_do_pod
  1. Excluir um Pod:
  • Se um Pod precisar ser removido manualmente.
  • Ex: kubectl delete pod nome_do_pod, vale lembrar que se o Pod for gerenciado por um Deployment, ele será recriado automaticamente para manter a quantidade desejada de réplicas
  1. Criar um Service para Expor um Deployment:
  • Permite a exposição de um Deployment na rede
  • Ex: kubectl expose deployment minha_app --type=LoadBalancer --port=80.
  • O Kubernetes simplifica a gestão de aplicações conteinerizadas, permitindo criar, monitorar e gerenciar recursos de maneira eficiente, e garante estabilidade, escalabilidade e resiliência das aplicações dentro de um ambiente Kubernetes.

Docker vs Kubernetes

  • Docker fornece uma solução simples e eficiente para criar, executar e distribuir contêineres.
  • Kubernetes garante que múltiplos contêineres sejam gerenciados de forma escalável e automatizada, possuindo diferentes finalidades e aplicações.

Comparação entre Docker e Kubernetes

  • Finalidade: Docker cria/gerencia um contêiner individual, enquanto Kubernetes orquestra contêineres em larga escala
  • Portabilidade: Ambos permitem que contêineres rodem em qualquer sistema compatível e gerenciam múltiplos contêineres em ambientes diferentes
  • Escalabilidade: O Docker exige comandos explícitos, enquanto o Kubernetes ajusta a quantidade conforme a demanda
  • Alocação de Recursos: O Docker permite definir limites básicos, enquanto o Kubernetes distribui cargas de forma otimizada em clusters.
  • Automação: O Docker requer intervenção manual, enquanto o Kubernetes automatiza balanceamento/recuperação/escalabilidade
  • Uso Recomendado: Docker para pequenos projetos/desenvolvimento, e Kubernetes para aplicações de produção em larga escala.
  • O Docker é ideal para desenvolvedores que precisam rodar e testar aplicações localmente. Já o Kubernetes é recomendado para empresas/equipes que operam aplicações complexas em produção.

Docker Compose e Docker Swarm

  • Docker Compose permite definir e gerenciar múltiplos contêineres utilizando um arquivo YAML, permitindo as aplicações a dependerem de mais de um serviço, por exemplo:

Exemplo Prático

  • Criando um ambiente com Nginx (web server) e PostgreSQL (banco de dados): version: '3' services: web: image: nginx ports: - "80:80" db: image: postgres environment: POSTGRES_PASSWORD: senha123
  • Para iniciar os serviços definidos no arquivo, basta executar: docker-compose up -d.
  • O Docker Swarm é uma solução nativa do Docker para orquestração de contêineres com funcionalidades semelhantes ao Kubernetes com o seguinte exemplo:

Exemplo Prático

  • Inicialização de um cluster Swarm e criação de um serviço Nginx distribuído: "docker swarm init docker service create --name web -p 80:80 nginx"
  • Swarm gerencia a distribuição dos contêineres.
  • Docker simplifica a execução de contêineres individuais, enquanto o Kubernetes fornece um sistema avançado para gerenciá-los em larga escala, como visto nos exemplos "Shrek e Fiona". Docker Compose facilita o gerenciamento de múltiplos contêineres em um único ambiente, enquanto Docker Swarm

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser