Tutorial do Docker - Introdução ao Docker e conteinerização



Neste tutorial do Docker, você entenderá a necessidade por trás do Docker e obterá uma introdução ao Docker. É o primeiro blog da série de tutoriais do Docker

Espero que você não tenha perdido a série de blogs Tutoriais de DevOps anteriores. Passar pela Aqui.A tendência incontida do contêiner Docker está crescendo e as organizações estão procurando profissionais que possuam .Agora, desta vez, conduziremos você por uma introdução ao Docker.

Tutorial do Docker

Este blog do tutorial do Docker lhe dará a exposição conceitual e prática do Docker - uma nova era de tecnologia de conteinerização.





Neste blog, vamos nos concentrar nos tópicos abaixo:

  • O que é virtualização?
  • O que é conteinerização
  • Vantagens da conteinerização em relação à virtualização
  • Introdução ao Docker
  • Benefícios do Docker
  • Virtualização x conteinerização
  • Instalação do Docker
  • Dockerfile, Docker Image e Docker Container
  • O que é Docker Hub?
  • Arquitetura Docker
  • Docker Compose

O Docker está ganhando popularidade e seu uso está se espalhando como um incêndio. O motivo da popularidade crescente do Docker é a extensão em que ele pode ser usado em uma organização de TI. Muito poucas ferramentas por aí têm a funcionalidade para serem úteis tanto para desenvolvedores quanto para administradores de sistema. Docker é uma ferramenta que realmente cumpre sua promessa de Construir , Navio e Corre .



Em palavras simples, Docker é uma plataforma de contentorização de software, o que significa que você pode construir seu aplicativo, empacotá-los junto com suas dependências em um contêiner e então esses contêineres podem ser facilmente enviados para rodar em outras máquinas.

Por exemplo: Vamos considerar um aplicativo baseado em Linux que foi escrito em Ruby e Python. Este aplicativo requer uma versão específica do Linux, Ruby e Python. A fim de evitar conflitos de versão no final do usuário, um contêiner docker linux pode ser criado com as versões necessárias de Ruby e Python instaladas junto com o aplicativo. Agora os usuários finais podem usar o aplicativo facilmente, executando este contêiner, sem se preocupar com as dependências ou quaisquer conflitos de versão.

Esses contêineres usam a conteinerização, que pode ser considerada uma versão evoluída da virtualização. A mesma tarefa também pode ser realizada usando Máquinas Virtuais, porém não é muito eficiente.



tutorial do tableau passo a passo

Geralmente recebo uma pergunta neste momento, ou seja, qual é a diferença entre virtualização e conteinerização? Esses dois termos são muito semelhantes entre si. Então, deixe-me primeiro dizer o que é virtualização?

O que é virtualização?

A virtualização é a técnica de importação de um sistema operacional Guest em cima de um sistema operacional Host. Essa técnica foi uma revelação no início porque permitiu que os desenvolvedores executassem vários sistemas operacionais em diferentes máquinas virtuais, todas rodando no mesmo host. Isso eliminou a necessidade de recursos extras de hardware. As vantagens das máquinas virtuais ou virtualização são:

  • Vários sistemas operacionais podem ser executados na mesma máquina
  • Manutenção e recuperação eram fáceis em caso de condições de falha
  • O custo total de propriedade também foi menor devido à necessidade reduzida de infraestrutura

Arquitetura de máquina virtual - Tutorial de introdução ao Docker do Docker - Edureka

No diagrama à direita, você pode ver que há um sistema operacional host no qual existem 3 sistemas operacionais convidados em execução, que nada mais são do que as máquinas virtuais.

Como você sabe que nada é perfeito, a virtualização também tem algumas deficiências. A execução de várias máquinas virtuais no mesmo sistema operacional host leva à degradação do desempenho. Isso ocorre porque o sistema operacional convidado é executado em cima do sistema operacional host, que terá seu próprio kernel e conjunto de bibliotecas e dependências. Isso ocupa uma grande parte dos recursos do sistema, ou seja, disco rígido, processador e especialmente RAM.

Outro problema com máquinas virtuais que usam virtualização é que leva quase um minuto para inicializar.Isso é muito crítico no caso de aplicativos em tempo real.

A seguir estão as desvantagens da virtualização:

  • Executar várias máquinas virtuais leva a um desempenho instável
  • Os hipervisores não são tão eficientes quanto o sistema operacional host
  • O processo de inicialização é longo e leva tempo

Essas desvantagens levaram ao surgimento de uma nova técnica chamada Containerização. Agora, deixe-me falar sobre a conteinerização.

O que é a conteinerização?

A conteinerização é a técnica de trazer a virtualização para o nível do sistema operacional. Enquanto a virtualização traz abstração para o hardware, a conteinerização traz abstração para o sistema operacional. Observe que a conteinerização também é um tipo de virtualização. A conteinerização é, no entanto, mais eficiente porque não há sistema operacional convidado aqui e utiliza o sistema operacional de um host, compartilha bibliotecas e recursos relevantes como e quando necessário, ao contrário das máquinas virtuais. Binários específicos de aplicativos e bibliotecas de contêineres são executados no kernel do host, o que torna o processamento e a execução muito rápidos. Até a inicialização de um contêiner leva apenas uma fração de segundo. Como todos os contêineres compartilham, hospedam o sistema operacional e mantém apenas os binários e bibliotecas relacionados ao aplicativo. Eles são leves e mais rápidos do que as máquinas virtuais.

Vantagens da conteinerização em relação à virtualização:

  • Os contêineres no mesmo kernel do sistema operacional são mais leves e menores
  • Melhor utilização de recursos em comparação com VMs
  • O processo de inicialização é curto e leva alguns segundos

No diagrama à direita, você pode ver que existe um sistema operacional host que é compartilhado por todos os contêineres. Os contêineres contêm apenas bibliotecas específicas do aplicativo, que são separadas para cada contêiner e são mais rápidas e não desperdiçam nenhum recurso.

Todos esses contêineres são gerenciados pela camada de contêiner, que não é nativa do sistema operacional host. Portanto, um software é necessário, que pode permitir que você crie e execute contêineres em seu sistema operacional host.

Confira este vídeo tutorial do Docker para uma compreensão profunda do Docker.

Tutorial do Docker para iniciantes | O que é Docker? | Ferramentas DevOps | Edureka

Agora, deixe-me mostrar a introdução ao Docker.

Tutorial do Docker - Introdução ao Docker

Docker é uma plataforma de conteinerização que empacota seu aplicativo e todas as suas dependências na forma de contêineres para garantir que seu aplicativo funcione perfeitamente em qualquer ambiente.

Como você pode ver no diagrama à direita, cada aplicativo será executado em um contêiner separado e terá seu próprio conjunto de bibliotecas e dependências. Isso também garante que haja isolamento no nível do processo, o que significa que cada aplicativo é independente de outros aplicativos, dando aos desenvolvedores a certeza de que podem construir aplicativos que não irão interferir uns nos outros.

Como desenvolvedor, posso construir um contêiner com diferentes aplicativos instalados e fornecê-lo à minha equipe de QA, que só precisará executar o contêiner para replicar o ambiente do desenvolvedor.

Benefícios do Docker

Agora, a equipe de QA não precisa instalar todos os softwares e aplicativos dependentes para testar o código e isso os ajuda a economizar muito tempo e energia. Isso também garante que o ambiente de trabalho seja consistente em todos os indivíduos envolvidos no processo, desde o desenvolvimento até a implantação. O número de sistemas pode ser facilmente ampliado e o código pode ser implantado neles sem esforço.

Virtualização x conteinerização

A virtualização e a conteinerização permitem que você execute vários sistemas operacionais dentro de uma máquina host.

A virtualização trata da criação de muitos sistemas operacionais em uma única máquina host. A conteinerização, por outro lado, criará vários contêineres para cada tipo de aplicativo, conforme necessário.

Figura: O que é Big Data Analytics - virtualização versus conteinerização

Como podemos ver na imagem, a principal diferença é que existem vários sistemas operacionais convidados na virtualização que estão ausentes na conteinerização. A melhor parte da conteinerização é que ela é muito leve em comparação com a virtualização pesada.

Agora, vamos instalar o Docker.

Instale o Docker:

Estarei instalando o Docker em minha máquina Ubuntu 17.10. A seguir estão as etapas para instalar o Docker:

  1. Instale os pacotes necessários
  2. Repositório de configuração do Docker
  3. Instale o Docker no Ubuntu

1. Instale os pacotes necessários:

Existem certos pacotes de que você precisa em seu sistema para instalar o Docker. Execute o comando abaixo para instalar esses pacotes.

sudo apt-get install curl apt-transport-https certificados ca software-properties-common

2. Configure o Repositório Docker:

Agora, importe a chave GPG oficial do Dockers para verificar a assinatura dos pacotes antes de instalá-los com apt-get. Execute o comando abaixo no terminal:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add

Agora, adicione o repositório Docker em seu sistema Ubuntu que contém pacotes Docker incluindo suas dependências, para isso execute o comando abaixo:

sudo add-apt-repository 'deb [arch = amd64] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stable'

3. Instale o Docker no Ubuntu:

Agora você precisa atualizar o índice apt e instalar a edição da comunidade Docker, para isso execute os comandos abaixo:

sudo apt-get update sudo apt-get install docker-ce

Parabéns! Você instalou o Docker com sucesso. Além disso, verifique alguns comumente usados Comandos Docker .

Agora vamos ver alguns conceitos importantes do Docker.

Dockerfile, Docker Image e Docker Container:

  1. Uma imagem do Docker é criada pela sequência de comandos escritos em um arquivo denominado Dockerfile.
  2. Quando este Dockerfile é executado usando um comando docker, ele resulta em uma imagem Docker com um nome.
  3. Quando esta imagem é executada pelo comando “docker run”, ela por si mesma iniciará qualquer aplicativo ou serviço que deve iniciar em sua execução.

Docker Hub:

O Docker Hub é como o GitHub para imagens do Docker. É basicamente um registro de nuvem onde você pode encontrar imagens Docker carregadas por diferentes comunidades, também você pode desenvolver sua própria imagem e fazer upload no Docker Hub, mas primeiro, você precisa criar uma conta no DockerHub.

como escrever alerta em javascript

Arquitetura Docker:

Ele consiste em um Docker Engine que é um aplicativo cliente-servidor com três componentes principais:

  1. Um servidor que é um tipo de programa de longa duração denominado processo daemon (o comando docker).
  2. Uma API REST que especifica interfaces que os programas podem usar para falar com o daemon e instruí-lo sobre o que fazer.
  3. Um cliente de interface de linha de comando (CLI) (o comando docker).
  4. A CLI usa a API REST do Docker para controlar ou interagir com o daemon Docker por meio de scripts ou comandos CLI diretos. Muitos outros aplicativos Docker usam a API e a CLI subjacentes.

Consulte este blog para ler mais sobre .

Finalmente, neste blog do tutorial do Docker, falarei sobre o Docker Compose.

Docker Compose:

O Docker Compose é basicamente usado para executar vários Docker Containers como um único servidor. Deixe-me lhe dar um exemplo:

Suponha que eu tenha um aplicativo que requer WordPress, Maria DB e PHP MyAdmin. Posso criar um arquivo que iniciaria ambos os containers como um serviço sem a necessidade de iniciar cada um separadamente. É realmente útil, especialmente se você tiver uma arquitetura de microsserviço.

Consulte meu blog em Docker Container para entender como executá-lo na prática.

Além disso, você pode ler este blog sobre como colocar em contêiner um aplicativo de pilha média usando o Docker Compose.

Com isso, chegamos ao fim do primeiro blog do Docker Tutorial sobre Introdução ao Docker e conteinerização.

Confira nosso próximo blog no Docker:

Agora que você entendeu o que é DevOps, confira nosso pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka DevOps Certification Training ajuda os alunos a ganhar experiência em vários processos e ferramentas DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack e GIT para automatizar várias etapas no SDLC.

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.