Utilizando o Docker para seu projetos Laravel com Laradock


O laradock é um ambiente de desenvolvimento PHP completo para o docker, contendo algumas imagem docker pré-configuradas. Inicialmente o projeto foi focado em rodar os projetos Laravel no docker, mas veio evoluindo e agora começou a suportar outros projetos PHP como Symfony, CodeIgniter, WordPress, Drupal e outros.

Neste post vamos deixar-lo pronto para utilizar um projeto docker. Primeiramente para que possamos dar seguimento precisamos ter o docker e Git instalado e funcionando na máquina.

O primeiro passo agora é baixar o repositório do laradock no github com o seguinte comando:

$ git clone https://github.com/Laradock/laradock.git laradock

Esse comando baixará o conteúdo para uma pasta chamada laradock. O próximo passo é criar um arquivo .env espelhado pelo env-exemple (Copiando o env-exemple e colando com o nome de .env).

Realizado o passo anterior vamos subir o serviço com o seguinte comando:

$ docker-compose up -d nginx

Quando subimos o nginx automaticamente o PHP sobe pois o servidor web necessita dele.

Pronto o serviço está funcionando e agora podemos testar acessando:

http://localhost

ou no caso de quem estiver usando docker no  OSx acessando:

http://192.168.99.100

Antes de prosseguirmos é importante vermos um pouco sobre algumas configurações no arquivo .env. Algumas mais importantes são:

NGINX_HOST_HTTP_PORT=Porta que vai rodar
NGINX_HOST_HTTPS_PORT=Porta SSL

Existem outras configurações e possibilidades, mas não serão abordadas neste post. Agora vamos rodar uma arquivo teste de php para vermos se vai rodar e qual procedimento devemos tomar para funcionar.

O que vamos fazer primeiramente é criar uma pasta no mesmo nível que a pasta laradock, como mostra a imagem abaixo.

 

 

 

 

Agora que criamos as pasta vamos criar um arquivo chamado index.php dentro da pasta app/ com o seguinte conteúdo:

<?php
 
echo 'Teste laradock';

 

Depois de salvo o arquivo vamos abrir o arquivo default.conf que fica dentro da pasta laradock/nginx/sites/. Altere a linha  root /var/www/app;

Salve o arquivo e volte para a pasta laradock/ e digite os seguintes comando:

$ docker-compose down
 
$ docker-compose up

Pronto podemos testar acessando  http://localhost ou http://192.168.99.100 e verificando que funcionou corretamente.

Instalando Docker no Centos 6

Docker e CentOS

O Centos 6 e o Docker não se dão bem, isso já vem sendo discutido a algum tempo, mas em uma situação bem especifica precisei instalá-lo nesta distribuição em sua versão 6. O que precisei realizar ante de fato instalar o Docker no Centos foi atualizar o Kernel através de uma variante o Xen4CentOS mantida pela Special Interest Group ( um grupo de interesse especial da virtualização do CentOS).

Vamos então utilizar os seguintes comandos:

Depois de realizado estes passo rode o hello-world:

# docker run hello-world

Pronto Docker instalado.

Ambiente de Desenvolvimento PHP com o Docker Compose

Docker

Docker Compose é uma ferramenta para execução de aplicativos docker multi-containers o que nos ajuda muito a iniciar um ambiente inteiro com um comando somente.

Neste post vamos utilizar o Docker Compose para configurar um ambiente de desenvolvimento básico, com o PHP, Apache e MySQL.Vamos utilizar dois containers Docker, um para o PHP e Apache e outro para o banco de dados MySQL. Vamos utilizar imagens oficias do Docker Hub.

Primeiramente vamos criar o container para o servidor WEB. Para isso dentro de uma pasta vamos criar um arquivo chamado Dockerfile contendo as seguintes linhas:


Nos utilizamos uma imagem do repositório oficial, este vem com o PHP 5.6 e o apache. Além disso utilizamos um comando para executar (RUN) a instalação da extensão mysqli. Por hora vamos instalar somente esta extensão, caso queira instalar mais extensões de uma olhada na documentação da imagem que foi utilizada.

O próximo passo é criar um arquivo chamado docker-compose.yml onde teremos as configurações de nossos dois containers. Vamos inserir as seguintes linhas nele:

O próximo passo agora é criar a pasta www/ e um arquivo com o nome index.php dentro da pasta www/ com o seguinte código:

Agora vamos colocar para rodar com o comando docker-compose up. Com este comando será mostrado em um modo verbose, ou seja, cuspindo todas as informações no terminal. Caso queira rodar em segundo plano bastar utilizar o seguinte comando: docker-compose up -d

Este post é o basico do que se pode fazer com o docker, mais com esse básico já podemos ter nosso ambiente de desenvolvimento rodando rapidamente e totalmente independente de nossa maquina.

Rodando MySQL no Docker

Docker

Para facilitar muito a nossa vida de desenvolvedor temos o Docker com seus containers que até parecem mágicos. Neste post vou mostrar como subir um servidor MySQL rapidamente para testes ou uso em um desenvolvimento de uma aplicação.

O primeiro passo é executar o comando setando alguns parâmetros, como o nome da imagem, variáveis ambientes do MySQL, o apontamento da porta externa e interna e por ultimo o nome da imagem no repositório oficial do Docker.

$ docker run --name byteslivres-mysql-1 -e MYSQL_ROOT_PASSWORD=12345 
-e MYSQL_DATABASE=teste -d -p 13306:3306 mysql:5.7.10

Pronto. Depois deste comando o MySQL estará rodando em sua maquina. Para testar abra seu gerenciador de banco de dados e tente conectar com a seguintes configurações:

Host: localhost
Porta: 13306
Usuário: root
Senha: 12345

Tudo dando certo ira aparecer no seu gerenciador o banco de dados teste vazio. Bem agora para pararmos o servidor basta utilizar o seguinte comando:

$ docker stop  byteslivres-mysql-1

Pronto. Caso queira subir novamente o mesmo banco não é necessário utilizar o primeiro comando mostrado. Basta utilizar este comando:

$ docker start  byteslivres-mysql-1