O que e Docker?Antes esclarecemos uma duvida comum aos novatos. Docker nao e sistema de virtualizacao tradicional, pois em um sistema de virtualizacao tradicional temos um SO completo e isolado, ja no Docker temos os recursos isolados que utilizam as bibliotecas do kernel em comum (host e conteiner). O Docker utiliza como backend o LXC.Figura diferenca entre Virtualizacao e Conteiner de [1] Docker e uma plataforma open source escrito em Go, linguagem de programacao de alto desempenho da Google, que facilita a criacao e administracao de ambientes isolados.Vantagens de usar o Docker O Docker permite o empacotamento de uma aplicacao ou ambiente completo dentro de um conteiner, e a partir desse momento o ambiente completo torna-se portavel para qualquer outro Host que contenha o Docker instalado. Assim reduz drasticamente o tempo de deploy de alguma infraestrutura ou ate mesmo da aplicacao, pois nao ha necessidade de ajustes de ambiente para o correto funcionamento do servico, o ambiente sempre e o mesmo, configure uma vez e replique quantas vez quiser.Outra facilidade do Docker e poder criar imagens (conteiners prontos para deploy) por meio de arquivos de configuracao Dockerfile.Como o Docker funciona? O Docker funciona como cliente e servidor (toda a comunicacao entre o Docker Daemon e Docker Client e realizada atraves da API), basta apenas ter instalado o servico do Docker e apontar o Docker Client para o servidor. A plataforma Docker utiliza alguns conjuntos de recursos, seja para criacao ou administracao dos containers. entre esses conjuntos destacamos a biblioteca libcontainer, que e responsavel pela comunicacao entre o Docker Daemon e o backend utilizado, e ela a responsavel pela criacao do container e atraves dela podemos setar os limites de recursos por container.Instalacao do Docker Pre-requisitos: O Docker requer instalacao das distros Linux com arquitetura 64 bits independente da versao e alem disso, o kernel deve ter no minimo 3.10. No Debian # apt-get purge "lxc-docker*" #apt-get purge "docker.io*" # apt-get install apt-transport-https ca-certificates # echo "deb https://apt.dockerproject.org/repo debian-jessie main " > /etc/apt/sources.list.d/docker.list #apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D Debian Wheezy (7) # echo "deb https://apt.dockerproject.org/repo debian-wheezy main" >> /etc/apt/sources.list Debian Jessie (8) # echo "deb https://apt.dockerproject.org/repo debian-jessie main" >> /etc/apt/sources.list Debian Stretch/Sid (9) # echo "deb https://apt.dockerproject.org/repo debian-stretch main" >> /etc/apt/sources.list Atualizacao do repositorio # apt-get update Instalacao do pacote Docker # apt-get install docker-engine Startar o servico Docker # service docker start No CentOS Adicionar no repositorio # tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF Instalar o pacote Docker # yum install docker-engine Habilitar o servico Docker # systemctl enable docker.service Startar o servico Docker # systemctl start docker No Ubuntu $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates $ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D Precise 12.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-precise main Trusty 14.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-trusty main Wily 15.10 deb https://apt.dockerproject.org/repo ubuntu-wily main Xenial 16.04 (LTS) deb https://apt.dockerproject.org/repo ubuntu-xenial main Adicione o repositorio conforme a versao do Ubuntu, nesse caso adicionei a versao Xenial 16.04 LTS $ echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list Atualiza o repositorio $ sudo