Implante pilhas LAMP e/ou LEMP facilmente usando Docker
Depois de ler o título deste guia, você deve estar se perguntando por que devemos implantar pilhas LAMP e LEMP usando Docker? Por que não podemos simplesmente instalá-lo manualmente? Configurar a pilha LAMP e LEMP é muito fácil, então por que deveríamos complicar com o Docker? Deixe-me responder suas perguntas. Acredite em mim, implantar LAMP ou LEMP ou qualquer outra pilha usando Docker é muito mais fácil do que instalá-los manualmente.
Por que precisamos implantar pilhas LAMP/LEMP usando Docker?
Como você provavelmente sabe, o Docker é uma solução de virtualização leve e em nível de sistema operacional. Você não precisa de nenhum tipo de software de virtualização, como VirtualBox, Xen ou VMWare etc., para testar e implantar vários sistemas operacionais. Para obter mais detalhes sobre a instalação e uso do Docker, consulte o link a seguir.
- Docker – virtualização leve com contêineres Linux
E por que precisamos implantar pilhas LAMP ou LEMP com Docker? Porque podemos facilmente obter imagens LAMP ou LEMP prontas e executá-las instantaneamente em alguns minutos. Não há necessidade de se complicar instalando manualmente os softwares Apache, MySQL/MariaDB e PHP, um por um. Digamos que você seja um desenvolvedor, um testador ou qualquer entusiasta de software aleatório e queira testar um aplicativo baseado na web. Para instalar um aplicativo baseado na web, você deve configurar o Apache/Nginx, MySQL/MariaDB e PHP (isso é o que chamamos de pilhas LAMP ou LEMP). Este será um processo demorado. É aqui que o Docker ajuda.
Usando o Docker, você pode baixar e implantar facilmente aplicativos pré-configurados instantaneamente, sem muitos problemas, e começar a usá-los em minutos. Parece bom? Bem, deveria ser.
Agora, vamos entrar no assunto. Este tutorial mostrará como implantar pilhas LAMP ou LEMP com Docker.
Implantando pilhas LAMP/LEMP usando Docker
Depois de instalar o Docker conforme descrito no link acima, vamos procurar as pilhas LAMP/LEMP prontas.
Para fazer isso, execute:
sudo docker search lamp
Exemplo de resultado:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
reinblau/lamp Dockerfile for PHP-Projects with MySql client 17 [OK]
dockie/lamp 6 [OK]
nickistre/ubuntu-lamp LAMP server on Ubuntu 4 [OK]
nickistre/ubuntu-lamp-wordpress LAMP on Ubuntu with wp-cli installed 4 [OK]
nickistre/centos-lamp LAMP on centos setup 3 [OK]
damienlagae/lamp Docker LAMP with supervisord 3 [OK]
boolean93/lamp LAMP based on linode/lamp 2 [OK]
drunomics/lamp 1 [OK]
avatao/lamp LAMP base image 1 [OK]
nickistre/ubuntu-lamp-xdebug LAMP on Ubuntu with xdebug installed 1 [OK]
nickistre/centos-lamp-wordpress LAMP on CentOS setups with wp-cli installed 1 [OK]
linuxconfig/lamp Automated build LAMP stack environment for... 1 [OK]
greyltc/lamp a super secure, up-to-date and lightweight... 0 [OK]
kazaoki/lamp ローカルフォルダをマウントす... 0 [OK]
greyltc/lamp-gateone LAMP stack with gateone server & webdav 0 [OK]
fauria/lamp Modern, developer friendly LAMP stack. Inc... 0 [OK]
drunomics/lamp-memcached LAMP + Memcached base image. 0 [OK]
rpawel/lamp Apache 2.4 + php5-fpm container 0 [OK]
lioshi/lamp Docker image for LAMP + MySql under debian 0 [OK]
nickistre/centos-lamp-xdebug LAMP on centos with xDebug 0 [OK]
greyltc/lamp-aur LAMP stack (in Arch with php7) with AUR ac... 0 [OK]
alledia/lamp General LAMP for our tests, based on phusi... 0 [OK]
greatfox/lamp 0 [OK]
cnrk/lamp LAMP stack Docker image. 0 [OK]
grmanit/lamp Based on tutum/lamp with additional settin... 0 [OK]
Como você pode ver no resultado acima, existem muitas imagens de pilha LAMP prontas disponíveis para Arch Linux, CentOS e Ubuntu. As imagens são classificadas por classificação.
Da mesma forma, você pode pesquisar imagens Docker da pilha LEMP com o comando:
sudo docker search lemp
Em seguida, extraia uma imagem Docker de sua escolha. Aqui, vou baixar a imagem nickistre/ubuntu-lamp.
docker pull nickistre/ubuntu-lamp
Exemplo de resultado:
Using default tag: latest
latest: Pulling from nickistre/ubuntu-lamp
faecf96fd5ab: Pull complete
995977506e98: Pull complete
efb63fb8dcb6: Pull complete
a3ed95caeb02: Pull complete
61626f5cc06d: Pull complete
d42e54d21590: Pull complete
4a32d1f581a1: Pull complete
52f44a8dd6d0: Pull complete
ce6c1074ae9e: Pull complete
2fa559435609: Pull complete
93a433221384: Pull complete
521d09b9a2d1: Pull complete
6222edddc59d: Pull complete
8fa401b50efc: Pull complete
683063a5d5e0: Pull complete
1f87fa5088b3: Pull complete
c5ee1c14048f: Pull complete
Digest: sha256:e913d43c204b3cdb931156c1a680c712acfe8db531225ec7b9e4708fc7ebe93c
Status: Downloaded newer image for nickistre/ubuntu-lamp:latest
O comando acima irá baixar a pilha LAMP para Ubuntu. Você pode baixar as pilhas LAMP para outras plataformas, como CentOS, Arch Linux.
Como alternativa, você pode pesquisar, fazer download e implantar imagens do Docker no Docker Hub, onde milhares das imagens mais populares estão hospedadas.
- Baixar imagens do Docker
Procure as imagens da pilha LAMP e baixe-as.
Clique nas imagens do Docker para ver mais detalhes, como instalar e usar.
As imagens baixadas serão salvas localmente no diretório /var/lib/docker/.
Para listar as imagens Docker baixadas, execute o seguinte comando:
docker images
Exemplo de resultado:
REPOSITORY TAG IMAGE ID CREATED SIZE
nickistre/ubuntu-lamp latest 5e750e4f49e4 2 days ago 633 MB
reinblau/lamp latest 2813b461f843 9 days ago 697.9 MB
hello-world latest 690ed74de00f 5 months ago 960 B
Bem, depois de baixar a imagem Docker para a pilha LAMP/LEMP, execute-a usando o comando:
docker run -it nickistre/ubuntu-lamp /bin/bash
Depois de executar o comando acima, você estará automaticamente conectado ao diretório raiz da web do Container como usuário ‘root’.
root@184851ac9ebd:/#
Inicie o serviço Apache usando o comando:
service apache2 start
Então, serviço MySQL usando o comando:
service mysql start
Verifique se o servidor Apache está funcionando. Para fazer isso, abra seu navegador e navegue até http://container_IP/.
Para encontrar o endereço IP, basta digitar ‘ifconfig’ ou ‘ip addr’ no Terminal do Container.
Você deverá ver a página de teste do servidor Apache.
Você pode verificar a versão do Apache, MySQL e PHP usando comandos:
apache2 -v
mysql -v
php -v
É isso. A pilha LAMP no Ubuntu foi implantada. Agora você pode começar a implantar e testar seus aplicativos baseados na web.
Nota para iniciantes:
Use o Docker apenas para fins de teste e desenvolvimento. Além disso, não confunda Docker com outras ferramentas de virtualização. O Docker não implantará a pilha LAMP ou qualquer outro aplicativo diretamente em seu sistema host. O que exatamente o Docker fará é configurar um sistema operacional convidado (nós o chamamos de ‘contêiner’) e implantar a pilha LAMP dentro do sistema operacional convidado. Tecnicamente, é igual a outras tecnologias de virtualização, mas a principal diferença é que, diferentemente de outros métodos de virtualização, como VirtualBox, KVM e VMware, os sistemas convidados (contêineres) usam o kernel do sistema host. Todos os convidados compartilharão com eficiência os recursos como CPU, RAM, disco rígido e rede, etc. do seu computador host original. Espero que você esclareça agora.
É tudo por agora. Estarei aqui em breve com outro guia interessante. Até então, fique ligado no Unixmen.
Saúde!