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.
Agora temos o laradock funcionando corretamente, e o próximo passo é criar/instalar um projeto Laravel.
Primeiramente vamos entrar no diretório do laradock com os seguintes comandos:
$ cd laradock/ |
Depois vamos subir o container workspace digitando o seguinte comando:
$ docker-compose exec workspace bash |
Você notará que o terminal irá mudar, você entrará dentro do container. Algo parecido com o texto logo abaixo:
root@f74b81f6ed26:/var/www# |
Se nos rodarmos o comando ls veremos que estamos um diretório anterior do laradock/ dentro desse container, ou seja, instalaremos o projeto Laravel no mesmo nível que o laradock.
Bem para instalarmos um projeto Laravel vamos rodar o seguinte comando:
# composer create-project --prefer-dist laravel/laravel teste-app-laravel |
Pronto, depois que o composer baixa e instala temos uma pasta chamada teste-app-laravel/ no mesmo nível que o laradock.
Vamos sair do container utilizando Ctrl + q + p simultaneamente e partir para a criação do virtual host para acessa-lo. Crie um novo arquivo chamado teste-app-laravel.conf no seguinte diretório:
server { listen 80; listen [::]:80; server_name teste-app-laravel.local; root /var/www/teste-app-laravel/public; index index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_pass php-upstream; fastcgi_index index.php; fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } |
Nessas linhas o que devemos atentar é nas linhas server_name e root, onde o primeiro é o nome do virtual host e o segundo é o caminho de onde está a aplicação Laravel.
Com o terminal dentro da pasta laradock/ rode o seguinte comando:
$ docker-compose restart |
Bem, e por último, vamos adicionar no virtualhost de nosso OS a configuração para que possamos acessar a aplicação através da url: teste-app-laravel.local em um navegador localmente. Para que funcione vamos abrir o arquivo de virtualhost /etc/hosts e adicionar a seguinte linha:
127.0.0.1 teste-app-laravel.local |
Salve e feche o arquivo e pronto, feito isso temos nosso projeto Laravel funcionando corretamente.