Docker: tudo sobre contêineres

Logotipo do Docker: Container Loaded Whale

Como você já sabe, existem vários tipos de virtualização, um deles é a virtualização no nível do sistema operacional, e um dos projetos que mais se destaca nesse aspecto é estivador, junto com outros projetos de código aberto, como OpenVZ, LXC / LXD, Linux-VServer, etc., ou o software proprietário Virtuozzo. Se conhece este mundo ou se é regular neste tipo de blog, já deve conhecer o projecto cujo logótipo é uma baleia (daí o título para quem ainda não conhece), e sobretudo terá notado como nos últimos anos sua presença na mídia e o interesse têm aumentado exponencialmente.

E é que essas novas tecnologias são o presente e o futuro, principalmente com o crescimento brutal dos serviços em a nuvem da qual falamos tantas vezes. Docker, entre tantos outros projetos de código aberto e gratuito, são os que estão permitindo essa expansão e as grandes possibilidades que exigimos da nuvem. Mas o que é Docker? O que é um container? Como funciona?

Docker e contêineres:

Rancher OS

Embora a resposta é um pouco mais complexa e eu precisaria de vários desses artigos, tentarei resumi-los. No entanto, se você precisa saber mais sobre este projeto fantástico, existem livros muito bons como Alberto González, atual Consultor de Nuvem da Red Hat. É um guia prático que você pode adquirir a um preço acessível tanto em Amazon como em Ágape. Bem, dito isso, vamos saber o que é Docker.

Nós todos sabemos que Os contêineres Eles se tornaram uma ferramenta com muito potencial no Linux, bem, eles podem ser implementados e gerenciados graças ao software Docker. Os contêineres nada mais são do que "caixas" isoladas com o essencial para executar um determinado programa ou aplicativo. Esta pode ser entendida como uma máquina virtual leve, ao invés das completas e pesadas com as quais se trabalha em plena virtualização. Essa redução se traduz em uma sobrecarga menor.

Os contêineres também adicionam leveza portabilidade, autossuficiência e flexibilidade altamente cobiçado pelos desenvolvedores. Tudo graças ao LXC de nosso kernel favorito, Linux, e ao próprio projeto Docker, com seus contêineres, imagens e repositórios. E são essas vantagens que têm trazido o sucesso, que se tem notado tanto pelo envolvimento de algumas grandes empresas do setor como Google, Red Hat, IBM e Microsoft, quanto pela sua implementação e boa recepção em grandes empresas e nuvem serviços que todos nós usamos diariamente (AWS, Digital Ocean,…).

Instale o Docker passo a passo:

Interface da web do Docker Cloud

Você tem várias alternativas instalar o Docker, desde obter o tarball com o código-fonte e compilar, até obter binários de diferentes repositórios e gerenciá-los com os gerenciadores de pacotes de sua distribuição openSUSE, Ubuntu, Debian, CentOS, Fedora, etc. Talvez com pacotes binários seja mais confortável, mas para não alongar muito o assunto, vou apresentar um método mais direto e universal que funciona em qualquer distribuição:

sudo curl -fsSL https://get.docker.com/ | sh

Assim de simples. Agora temos o diabo e o cliente, este último será aquele que interage com o daemon do Docker e nos permitirá fazer tudo o que este software oferece. Mas ainda há algo a fazer, que é levantar o serviço, ou seja, iniciar o daemon do Docker. Para o systemd, você pode fazer o seguinte:

sudo systemctl enable docker

sudo systemctl start docker

Se tudo corresse bem, já estará ativo tudo. Você pode verificar com:

sudo systemctl status docker

Podemos começar a usá-lo agora ...

Primeiras etapas: criar um contêiner

Diagrama de um container

Bem, como você já sabe, o recipiente É um pacote com tudo o que é necessário para a execução de um ou mais aplicativos, ou seja, semelhante a uma máquina virtual, mas mais leve por depender do host para execução. Para que o contêiner funcione, ele deve ter as bibliotecas necessárias para execução, bem como certas dependências, como algumas ferramentas do sistema operacional. Claro, outra das partes necessárias é o ambiente de tempo de execução, ou seja, um ambiente de execução como intérpretes para linguagens interpretadas, JVM, arquivos com código ou binários, etc.

Existem alguns comandos básicos do Docker com o qual você "moverá" dentro do ambiente, eles são bastante numerosos, como info, insert, kill, stop, start, build, ps, etc. Para poder ver todos eles e para que serve cada um, tudo o que você precisa fazer é executar:

docker

Para mais informações você pode consultar a documentação oficial.

Como pode? criar um contêiner com Docker? Bem, agora vamos dar um exemplo, vamos criar um container com o Ubuntu e para isso usamos o comando run, que permite criar e executar containers (mais informações correr -h):

docker run -i -t ubuntu /bin/echo Prueba contenedor

E vai usar uma imagem local se já a tivermos ou, se não conseguir encontrar, vai baixá-la. O que mais irá criar o container, alocará espaço para o novo FS e o montará. Claro, você atribuirá uma interface de rede para comunicação convidado / host. Feito isso, ele nos mostrará um eco com a frase «Teste de contêiner»Isso nós colocamos.

Você pode veja todas as imagens o que você tem com:

docker images

E para lágrima um, você pode usar o ID do contêiner com:

docker start -a <pon-la-ID-del-container>

Para detê-los, você pode usar stop em vez de start:

docker stop <pon-la-ID-del-container>

E isso é apenas o básico no Docker. Espero que tenha ajudado você a começar e dar os primeiros passos de muitos, pois pode lhe dar muitas possibilidades. Como você pode ver, é um tema muito amplo e no qual você pode se aprofundar a partir deste tutorial ou adquirir livros adicionais como o citado nos primeiros parágrafos, que recomendo pela simplicidade nas explicações práticas. Não se esqueça de deixar seus comentários...


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Sayabros dito

    Interessante, aguardarei os próximos artigos, obrigado