Você está na página 1de 4

k (48) 3307-3495 | t vendas@ lipe op.

com u Contato | B Rastreie seu Pedido | r Minha Conta

o
Suporte (48) 3307-3495
Loja Virtual Blog Fórum Quem Somos
vendas@ lipe op.com

Categorias Blog y Pesquisar no blog por ...


m n0 R$0,00

Início  Raspberry Pi  Execução de containers Docker com Raspberry Pi

Material Necessário

Raspberry Pi 3
Model B Anatel

R$239,90 a

Categorias

Execução de containers Docker com Raspberry Pi 2  Arduino (97)

Raspberry Pi  29 de maio de 2018  Alliston Aleixo  Display (7)

 Embarcados (47)
Que a placa Raspberry Pi é poderosa, todos já sabemos, atuando às vezes como servidor de mídia, servidor de
 ESP8266 (17)
arquivos, e até servidor de automação utilizando dispositivos Apple. Mas essa plaquinha pode ir além disso,
chegando inclusive a executar máquinas virtuais em seu sistema. Isso se deve ao Docker, uma plataforma de  Módulos (15)
construção, execução e distribuição de sistemas através de containers, e neste post vamos mostrar como você pode
realizar a excução de containers Docker com Raspberry Pi.  Motores e Servos (18)

 News (49)
Que negócio é esse de Docker?
 Outros (13)
O Docker é muito utilizado no mundo de desenvolvimento de software, pois ele permite virtualizar a mesma
infraestrutura da sua máquina em qualquer ambiente que também aceite os containers Docker. Basicamente, é  Raspberry Pi (64)
possível criar uma rede de máquinas virtuais isoladas logicamente do host, permitindo a representação el tanto em
 Sensores (25)
modo de desenvolvimento, quanto em modo de distribuição. Para os desenvolvedores, é o m da desculpa “mas na
minha máquina tá rodando…”.  Shield (2)

 Wearable (4)

 Wireless (52)

O Docker tem se tornado muito popular pois roda em Windows, Linux e macOS, e conta com uma gama enorme de
imagens o ciais disponibilizadas para diversas nalidades, através do Docker Hub. Essas imagens são softwares pré
carregados em um sistema operacional, que permitem a execução em formato de containers. Nesse artigo, vamos
fazer uso de duas imagens: WordPress e MySQL, ambas rodando para Linux na arquitetura ARM. O que é mostrado
aqui, pode ser executado em qualquer outro sistema operacional, desde que tenha imagens compatíveis com sua
arquitetura (x86, x64 e ARM)

Ok… Onde entram os Containers?


Containers nada mais são do que as imagens executando. A diferença é que vários containers podem ser executados
ao mesmo tempo com base em uma única imagem. Isso permite que seja criado um cluster de vários containers
WordPress, por exemplo, permitindo o balanceamento de carga e distribuição através de vários servidores. São várias
instâncias de um mesmo software, podendo inclusive ter dados diferentes. Signi ca que você pode ter vários sites
WordPress rodando numa única Raspberry Pi, respeitando os limites da performance da placa.

Interessante, mas qual a vantagem pro mundo do IoT?


Resumidamente, podemos executar um WordPress com banco de dados MySQL com poucas linhas de comandos no
terminal. E o melhor de tudo, de maneira isolada do sistema principal. Caso o servidor seja para testes, o Docker
permite a exclusão dos containers e imagens sem que isso afete qualquer outro componente do Raspbian. Outra
grande vantagem é a utilização de imagens customizadas, ao invés de instalar do zero cada software necessário. Um
exemplo prático disso, seria a possibilidade de nós, da Filipe Flop, criarmos imagens e disponibilizarmos para que
vocês executem em seus sistemas sem que precisem fazer todo o passo a passo de instalação de determinado
software.

Vamos à instalação do Docker com Raspberry Pi!


Como pré requisito, é necessário ter o Raspbian Stretch instalado no cartão da placa Raspberry Pi 3 (é possível rodar
em outras versões, como a Zero, mas o tutorial vai focar apenas na versão 3), rodando já conectado à internet. A
instalação do Docker com Raspberry Pi é bem simples, e se dá através do comando abaixo:

1 curl -sSL https://ge t.docker.com | s h

Depois da instalação, é necessário que adicionemos o usuário pi ao grupo docker, para que consigamos executar
imagens sem sudo.

1 sudo usermod -aG docker pi

E agora habilitamos o Docker para executar sempre que o sistema for iniciado

1 sudo systemctl enable docker

Reinicie o sistema para que as alterações tenham efeito

1 sudo reboot -h now

E veri que se tudo deu certo com o comando abaixo (que serve para listar todos os containers que estão executando
no momento), exibindo a tela a seguir em caso de sucesso

1 docker p s
Utilizando o Docker
Primeiro, devemos baixar as imagens que serão utilizadas. Isso será feito do DockerHub, através do comando docker
pull. Abaixo, serão baixadas as imagens do MySQL e do WordPress

1 docker pull wordpress


2 docker pull hypriot/rpi-mysql

Vale notar que a imagem do WordPress é o cial, e tem suporte à arquitetura ARM. Já o MySQL não possui esse
suporte o cial. Dessa maneira, buscamos a imagem criada pelo usuário hypriot. Podemos depois listar as imagens
baixadas através do comando docker image ls

Feito isso, vamos à execução dos containers

Executando o MySQL
Primeiro vamos subir o banco de dados para que o WordPress o enxergue. O WordPress necessita de um servidor de
banco de dados para executar, que geralmente é o MySQL, embora existam algumas alternativas. Através do
comando docker run, é possível subir um container a partir de uma imagem:

1 docker run --name mysql-wordpress -e MYSQL_ROOT_PASSWORD=Aa.12345678 -d hypriot/rpi-mysql

Podemos ver alguns parâmetros no comando, como por exemplo, –name, que dá o nome mysql-wordpress ao
container. O Parâmetro -e por sua vez de ne algumas variáveis de ambiente, separadas por chave=valor. Nesse caso,
de nimos que MYSQL_ROOT_PASSWORD é igual a Aa.12345678. Já o parâmetro -d indica que o container vai executar
em background, sem travar a tela do terminal. Depois disso tudo, temos o nome da imagem a ser
utilizada, hypriot/rpi-mysql.

Executando o WordPress
1 docker run --name wordpress --link mysql-wordpress:mysql -p 8080:80 -d wordpress

Dessa vez, temos o parâmetro –link, que faz a ligação entre o container WordPress e o banco MySQL. Além disso, o
parâmetro -p, que indica que a porta 80 do container será exposta para o host, como porta 8080.

Hora de testar
Para con gurar o WordPress, basta acessar o endereço IP da sua placa juntamente da porta, em um navegador
qualquer dentro da mesma rede. No meu caso, utilizei o endereço http://192.168.1.21:8080. Após selecionar o idioma
Português, temos a seguinte página:
Basta con gurar os campos corretamente, clicando em Install WordPress, e assim teremos um site funcional, rodando
com poucos comandos, dentro da Raspberry Pi.

Considerações Finais
Algumas ressalvas devem ser feitas àcerca do WordPress rodando no Docker com Raspberry Pi. Do jeito que está, ele
ca disponível apenas na rede local. Para acesso além da rede, é preciso con gurar um servidor de DNS com IP xo,
dentre outros fatores.

A segurança também não está das melhores, visto que é apenas um tutorial para demonstrar as capacidades do
Docker.

Para mais detalhes sobre o Docker, e quais comandos podem ser utilizados, recomendo sua documentação. Ele é
muito mais poderoso do que aparenta ser, chegando à ser a base de diversos sistemas de porte gigantesco, e
recomendado por grandes empresas de software e nuvem, como Microsoft, Google e Amazon.

Gostou do post Docker com Raspberry Pi? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar
uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Posts Relacionados

Monte um videogame Raspberry Pi Zero W: Supercomputador Use o Raspberry Pi


usando Lakka com con guração rápida com Raspberry Pi para controlar o
Raspberry Pi para Rede e SSH NodeMCU - Parte 1

Alliston Aleixo

Desenvolvedor de sistemas pós graduado em dispositivos móveis pelo


SENAI/FATESG e apaixonado pelo mundo maker, aprendendo e repassando tudo o
que descobre para o site FILIPEFLOP.

← Primeiros passos comunicação LoRa com Arduino Sensor comestível pode ajudar a identi car problemas
de saúde →

Deixe uma resposta

Conectar com:

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Visual Texto

Parágrafo             


Nome * E-mail *

Site

Publicar comentário

2 Comentários
Uma dica legal é ao invés de utilizar o raspian com o docker é utilizar o HyrpiotOS
https://blog.hypriot.com, uma versão do linux para o pi especi ca para rodar containers e
otimizada para isso

Matias 6 de junho de 2018 Responder

Oi Matias, muito boa essa dica! É um repositório impressionante, inclusive com muitas
imagens prontas para ARM.

Grande abraço!

Alliston Aleixo  6 de junho de 2018 Responder

v Assine a Newsletter ...e junte-se à maior comunidade maker do Brasil Digite seu E-mail Enviar

Dúvidas Frequentes Institucional

Como comprar Quem Somos

Alguma dúvida? Entre em contato!

o
Frete Grátis Termos de Uso
(48) 3307-3495
Retirada em mãos Trabalhe Conosco

Pagamento e envio

Atendimento Online Trocas e devoluções


Seg-Sex das 08h30-11h30 às 13h-17h

      Tá rolando a Copa FilipeFlop!


Conheça a seleção de 23 produtos que está em campo, e só vai sair se o Brasil for
eliminado! :) Aproveite!

FilipeFlop Componentes Eletrônicos | CNPJ: 12.672.380/0001-90


VER PRODUTOS →
Rod. José Carlos Daux 4850 Galpão 19, Florianópolis/SC, 88032-005