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:
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:
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
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...
Interessante, aguardarei os próximos artigos, obrigado