gdfreitas / docker-sandbox

Repositório destinado à conceitos e exemplos com Docker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Docker

Repositório destinado à conceitos e práticas com Docker

O que é Docker

É uma plataforma que permite a criação e execução de aplicações de maneira rápida e prática através de pacotes de software em unidades padronizadas chamadas de contêineres os quais possuem tudo que o software precisa para ser executado, incluindo bibliotecas, ferramentas de sistema, código e runtime. O docker permite implantar, escalar e mover rapidamente aplicações em qualquer ambiente, otimizando a utilização de recursos.

História

O docker foi lançado em 2013 como um projeto open-source por uma empresa chamada .cloud (dot cloud) que era uma empresa de hospedagem que atualmente não existe mais. Após um ano do lançamento desta tecnologia, ela se tornou tão grande que eles fecharam a antiga empresa e abriram uma nova chamada Docker Inc.

Quais as vantagens do Docker em relação às tradicionais Máquinas Virtuais

  • Rapidez, agilidade "Docker is all about speed"
    • Em vários sentidos: para desenvolver, construir, testar, lançar, atualizar e recuperar
  • O consumo de recursos é muito menor com o Docker
    • Herda o Kernel e entre outros recursos da máquina host
  • Supondo que um a inicialização de um container leva 1seg, a mesma operação em uma máquina virtual com o sistema operacional inteiro, levaria cerca de 1min;

Características

  • Não é um sistema de virtualização tradicional (VM - Virtual Machine)
  • É uma engine de administração de containers (ambiente/serviço isolado da maquina host)
  • É baseado em uma tecnologia de serviços LXC (Linux Containers);
  • Open Source e escrito em Go (linguagem)
  • Host e container compartilham o Kernel (menor consumo, otimização, etc)
  • Empacota software com vários níveis de isolamento (memória, cpu, rede, etc)

Docker Editions

  • Docker CE (Community Edition): grátis para uso
  • Docker EE (Enterprise Edition): pago
    • Recomendado para grandes empresas, possui suporte 24/7, diretivas de seguranças em imagens, certificado em plataformas específicas, entre outros diversos produtos extras.

Versões

  • Stable versão estável, testada, etc.
  • Edge permite download antecipado, lançamentos mensais, a cada 4 meses esta versão vira um versão estável.

Instalação

Três principais tipos instalações: Direct, Mac/Windows e Cloud

Conceitos

Nas documentações abaixo é abordado conceitos, características, exemplos de uso, etc.

A versão do Docker e configurações da Engine podem ser consultadas docker version && docker info

Os comandos do Docker podem ser consultados através de docker --help.

Uma curiosidade é que com o passar dos anos houve uma melhora na organização dos comandos disponíveis. Pode-se perceber ao executar o comando de --help as divisões.

  • Commands (formato antigo) docker <command> (options)
  • Management Commands (formato novo) docker <command> <sub-command> (options)

Como o docker possui uma política de retrocompatibilidade, os antigos não deixarão de funcionar, mas novos comandos não estarão disponíveis no antigo formato.

Básicos

Orquestração

Outros

Referências

Docker Docs

Repositórios



Artigos e Videos

Cursos sobre Docker

About

Repositório destinado à conceitos e exemplos com Docker

License:MIT License