Docker
Italo José
github.com/italojs
linkedin.com/in/italojs/
facebook.com/italojs
Máquina virtual vs Container
Docker é muito rápido
“Mas na minha máquina funcionou”
Kernel 3.8+
Terminal:
Instalando
Docker
Atualizar o banco de dados de pacotes:
$sudo apt-get update
Instalar o Docker. Adicione ao sistema a chave GPG
oficial do repositório do Docker:
$sudo apt-key adv --keyserver hkp://p80.pool.sks-
keyservers.net:80 --recv-keys
58118E89F3A912897C070ADBF76221572C52609D
Adicione o repositório do Docker às fontes do APT:
$sudo apt-add-repository 'deb
https://apt.dockerproject.org/repo ubuntu-xenial
main'
Atualize o banco de dados de pacotes com os
pacotes do Docker a partir do novo repositório
adicionado:
$sudo apt-get update
Referencia: https://www.digitalocean.com/community/
tutorials/como-instalar-e-usar-o-docker-no-ubuntu-16-04-pt
Linux: Ubuntu 16.04
Instalando
Docker
Certifique-se de que você está instalando a partir do
repositório do Docker
$apt-cache policy docker-engine
Você deverá ver uma saída semelhante à seguinte:
docker-engine:
Installed: (none)
Candidate: 1.11.1-0~xenial
Version table:
1.11.1-0~xenial 500
500 https://apt.dockerproject.org/repo ...
Finalmente, instale o Docker:
$sudo apt-get install -y docker-engine
Referencia: https://www.digitalocean.com/community/
tutorials/como-instalar-e-usar-o-docker-no-ubuntu-16-04-pt
Linux: Ubuntu 16.04
Mão na massa!
Containers que estão ativos
Nenhum...
Containers independente do estado
Imagens que eu já baixei/criei na minha máquina
(baixando imagem e) Subindo um container
Algumas
explicações
-it:
Isso indica que nós queremo um terminal interativo
para esse container
/bin/bash:
Indica que será executado o comando
/bin/bash(abrir terminal) dentro deste container
Tudo que está sendo usado nesse container vem
do kernel do host, exceto as libs e binários
Executando comandos dentro do container
Quantos processos está sendo executado neste
container?
E na máquina real?
Saindo do
container
Ctrl + d :
Sai e mata o container.
Ctrl + pq :
Apenas sai do container
Voltando para o container
Subindo uma aplicação
de verdade
Subindo o banco de dados (mysql)
Algumas
explicações
-e ‘<option>’:
variáveis de ambiente
-p <host:container>:
mapeamento da porta do seu host para a
porta do container, quando você acessa seu
host na porta xxx, você será redirecionado
para a porta yyy do seu container.
--name:
Aqui você pode atribuir um nome ao
container e usar apenas o nome dele ao
invés do id
-d:
Roda o container em segundo plano
Subindo wordpress
Algumas
explicações --link: container:imagem:
Liga um container à outro
Acesse localhost no seu navegador e configure o Wordpress
Orquestrando
containers
Docker swarm É uma ferramenta nativa do Docker que
permite a criação de clusters de Docker
Mas o que é um
cluster
Docker
swarm(cluster)
Service Layer
Node Node
Log
ger
Node
Node Node Node
Physic
al
Virtual
Docker/Swarm
Docker
swarm(cluster)
Node Node
Log
ger
Node
Node Node Node
Service Layer
Physic
al
Virtual
Docker/Swarm
Docker
swarm(cluster)
Node Node
Log
ger
Node
Node Node Node
Service Layer
Physic
al
Virtual
Docker/Swarm
Docker
swarm(cluster)
Mão na massa!
Usando docker play e criando um nó(Manager)
Visualizando todos os nodes(nós) do nosso
cluster
Criando Workers
Verificando nossos novos nodes
OBS: nodes worker não rodam comando administrativo como o ‘node ls’
Criando uma rede interna
Criando um service de mysql
Listando aonde se encontra os containers
daquele service
Já está sendo executado o load balance *---*
Criando um service de wordpress
Porta 80 aberta
Configure seu wordpress
FIM

Docker de containers a orquestração