Curso de Docker parte 01

curso_docker_01

 

Olá pessoal

Voltando de férias e vamos para um 2018 melhor que 2017, e que seja pior para 2019.

2017 foi sensacional e agora um curso totalmente gratuito e que ajude vocês em 2018.

O formato será diferenciado.

Quero tratar com carinho este curso.

Fiquem a vontade para perguntas e estarei disponível.

OUÇA O PODCAST

O curso terá um podcast com áudio para dar interatividade e dentro do curso alguns videos de instalações e comandos.

Eu quis fazer neste formato diferenciado pois só vídeo não é tão interativo.

Ouvir o áudio, ver os conceitos e comandos no blog e interagir com o vídeo será mais completo.

Acredito que no formato com podcast, blog e vídeo é mais interessante pois dará a expectativa de assimilar melhor e dar mais interatividade.

Muita gente tem que olhar o video ou parar varias vezes para que assimile o comando ou consiga entender.  Então em formato PODCAST,  e VIDEO entendo que será excepcional.

Espero que gostem.

A primeira parte é conceitual e é importante a parte conceitual pois é a essência do conhecimento.

Os livros que me baseei são estes.

 

Acredito que são essenciais para quem vai aprender os comandos e ter o conceito gravado.

https://www.casadocodigo.com.br/products/livro-docker
https://novatec.com.br/livros/primeiros-passos-docker/
https://novatec.com.br/livros/aprendendo-docker/

O que é necessário para aprender docker:

Eu acredito piamente que pelo menos ter familiaridade com console linux

  • Debian ou Ubuntu
    Centos ou Fedora

São distribuições fáceis de usar e o repositório de pacotes são fáceis de manipular

Obviamente os pacotes .deb para Ubuntu e Debian e os pacote .rpm para Centos e Fedora.

Familiaridade com comando yum para os pacotes RPM e apt para pacotes .deb.

Saber compilar pacotes .tgz no linux.

CONCEITO:

Afinal o que é docker:  Nas minhas palavras é isolar um serviço ou enjaular usando container (chroot) usando uma base do kernel do sistema operacional linux e também Windows. O Windows Server 2016 também tem uma parceria e tem nativo docker.

Mais conceitual e importante ter o conceito pois o Docker já existe algum tempo mas desde 2008 ganhou popularidade.

Você empacota a aplicação web desenvolvida ou um serviço em um CONTÊINER (Pasta) e leva para qualquer maquina fisica, qualquer maquina virtual, qualquer ambiente virtual, qualquer nuvem (AZURE, AWS, Google Cloud Platform).

O que eu considero, é uma plataforma (PaaS).

Foi feito para aplicações inteligentes, de fácil crescimento e elasticidade. É preciso saber que nem toda aplicação tradicional precisa ser estudada e arquitetada, ou reescrever-la para que funcione em arquitetura de Docker.

Muita gente confunde que é virtualização de sua aplicação, apesar de ele funcionar virtualizado o conceito é isolar sua aplicação em um CONTÊINER.

Segundo o livro aprendendo linux pagina 25

LXC (Linux Container) exitem desde o kernel 2.6.26, que foi distribuído a partir de julho de 2008, vem por meio de sua arquitetura baseada em API, utilização de imagem por camada com a técnica de copia e gravação.

É um sistema operacional GUEST compartilhando recursos do KERNEL do sistema operacional hospedeiro.

Utiliza o CGROUP (CONTROL GROUPS), preste atenção pois isso faz parte do conhecimento de linux veja em https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/6/html/resource_management_guide/ch01.

Veja que para aprender Docker precisa ter pelo menos oconhecimento dos comandos de linux.

Resumindo o control groups do linux é um recurso do kernel do linux obviamente responsável por isolar os recursos como rede, memoria, disco e cpu.

NAMESPACE: é a funcionalidade que permite definir uma área. Leia aqui e fique a noite lendo assim a assimilação é mais interessante para ter o conceito https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/6/pdf/resource_management_guide/Red_Hat_Enterprise_Linux-6-Resource_Management_Guide-pt-BR.pdf

Veja que os detalhes são grandes.

OBS: Não aprenda antes rancher swarm e kubernetes sem antes aprender a essencia.

Muita gente aprende antes os orquestradores no qual é sensacional, mas quando da pau no ambiente o troubleshooting também é mais difícil de entender pois entender fica mais complicado.

Eu vou e volto na sua leitura de propósito para que você guarde então veja o comparativo da imagem de como funciona virtualização e contêiner.

Veja a diferença das camadas acima que em maquina virtual em resumo você tem um kernel para cada maquina virtual e você isola por maquina.

No conceito de docker você isola os apps por contêiner compartilhando o kernel.

E quais são as vantagens:

  • Padroniza ambientes de desenvolvimento, testes e produção.
  • melhora a utilização dos recursos fisicos
  • facilita a recuperação de dados, como versionamentos das aplicações.
  • faz isolamento das aplicações e configurações sem ficar mexendo constantemente.
  • além do uso em ambiente fisico e virtual, os ambientes de nuvem também são espetaculares para orquestração.

 

As desvantagens:

  • IO de disco é enorme então, use bons discos como SSD.
  • Se o host docker cai todos os contêineres nele caem também.
  • Dificulta os troubleshooting, já que adicionamos varias camadas de investigação.

O cara DEVOP ou DEV ou INFRA precisa ter total conhecimento da arquitetura do ambiente.

Resumindo:

Conteineres: São gerenciados por o docker engine a partir do linux LXC a partir da versão 1 que substituiu  o LXC pela Libcontainer (Open Container iniciative), veja em https://www.opencontainers.org/.

Engine: é o daemon que gerencia a construção e execução dos containers, faz o trabalho de criar o CHROOT e controlar os recursos de rede, cpu memoria e outros.

Veja esta materia: https://www.vivaolinux.com.br/dica/Fazendo-chroot-facilmente

Cliente: a engine expõe uma API onde, com um cliente consome o socket ou a api ele passa os comando para o daemon (docker engine).

Eu acredito que esta primeira parte vocês irão conseguir assimilar o conceito.

Irei tentar colocar semanalmente e as outras aulas será mais mão na massa.

Estarei postando em outros canais e fiquem ligados.

Como é publico pode ser compartilhado, mas com uma menção aos canais postados.

Acesse os sites que sitei acima e até a próxima.

 

 

Sobre Fabio Silva - MVP Reconnect

MVP Reconnect Microsoft Azure - Entusiasta Office 365 Profissional apaixonado por tecnologia. Perfil generalista mas com profundo conhecimento em varias tecnologias. Mais de 10 anos de skill em ambientes Linux Analista Senior realizando trabalhos: Comunicação unificada Lync 2013, Sharepoint 2013, Exchange 2013, Vmware e Windows 2012 preparado para nuvem, hibrida e on-premisses. Comunicação unificada Lync 2013, Sharepoint 2013, Exchange 2013, Vmware e Windows 2012 preparado para nuvem, hibrida e on-premisses. Implantação de comunicação unificada e mensageria Lync 2013 e Exchange 2013 na empresa Penso Tecnologia. Itcore Consultor Senior em todas soluções Microsoft e Virtualização. Consultor Microsoft e Linux Senior De Julho de 2012 a Março de 2013 Consultor Microsoft e Linux Senior De Maio de 2012 a Setembro de 2012 Tecban (Técnologia Bancaria) Auditor de Sistemas Pleno Março de 2012 a Maio de 2012 Analista de TI Senior Março de 2011 a Março de 2012 Analista de infra-estrutura de redes e desenvolvimento Maio 2007 a Março de 2011 Analista de Redes Março de 2005 a Maio de 2007 Integradora THS Área de Suporte CPD Janeiro de 2004 a Janeiro de 2005 Especializações: Certificado Microsoft Windows 2003, Certificado Zimbra Network Edition, Certificado Sonicwall. Especialização em Messageria Exchange 2007 e 2010. Especialização em Linux

Publicado em 25 de janeiro de 2018, em Amazon, AWS, Azure, Cloud, Docker, Linux e marcado como , . Adicione o link aos favoritos. 4 Comentários.

  1. Leonardo Fogaça de Almeida

    Parabéns pela iniciativa.

    Essa visão de Docker e Container pelo Linux ainda não tinha lido. Somente pela visão da Microsoft que é mais a minha praia.

    Curtir

  2. Alison Do Nascimento Pereira

    Como faço para ter acesso as outras aulas desta aplicação ?

    Curtir

Deixe uma resposta para Fabio Silva - MVP Reconnect Cancelar resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Project THOR

Technical and Human infrastructure for Open Research

randieri.com

Il blog di Cristian Randieri

TEC OFFICE PRODUTIVO

Tec Office Produtivo é um grupo de treinamentos, dicas e tutorias de informática sobre aplicativos utilizados em escritórios.

Gold Recipes

Gols Recipes

Escadas Especiais

Projetos, fabricação e instalação de escadas em geral

Jaqueline Ramos

Devops & Cloud

Blog do Douglas Romão

MVP Office Apps and Services | Modern Workplace and Business Applications Expert

%d blogueiros gostam disto: