Giter Site home page Giter Site logo

docker-php-com-nginx's Introduction

Sobre

Neste repositório vamos fazer a criação de uma imagem Docker que embora possa ser utilizada em produção, ainda merece ser aperfeiçoada para permitir realmente o escalonamento da aplicação.

Conteúdo da Imagem Docker

  • PHP, e diversas extensões e Libs do PHP, incluindo php-redis, pgsql, mysql, entre outras.

  • Nginx, como proxy reverso/servidor. Por fim de testes é que o Nginx está presente nesta imagem, em um momento de otimização está imagem deixará de ter o Nginx.

  • Supervisor, indispensal para executarmos a aplicação PHP e permitir por exemplo a execução de filas e jobs.

  • Composer, afinal de contas é preciso baixar as dependências mais atuais toda vez que fomos crontruir uma imagem Docker.

Vídeos Tutorial

Vídeo Sobre Criação do Dockerfile e do Docker Compose file

Passo a Passo

Certifique-se de estar com o Docker em execução.

docker ps

Certifique-se de ter o Docker Compose instalado.

docker compose version

Clone sua aplicação Laravel para a pasta 'app'. Caso a pasta app não existe, crie a pasta.

A listagem de pastas do projeto deve ficar:

    app/
    docker/
    .gitignore
    docker-compose.yml
    readme.md

Certifique-se que sua aplicação Laravel ficou em ./app e que existe o seguinte caminho: /app/public/index.php

Certifique-se que sua aplicação Laravel possuí um .env e que este .env está com a APP_KEY= definida com valor válido.

Contruir a imagem Docker, execute:

docker compose build

Caso não queira utilizar o cache da imagem presente no seu ambiente Docker, então execute:

docker compose build --no-cache

Para subir a aplicação, execute:

docker compose up
  • Para rodar o ambiente sem precisar manter o terminar aberto, execute:
docker compose up -d

Para derrubar a aplicação, execute:

docker compose down

Para entrar dentro do Container da Aplicação, execute:

docker exec -it web bash

Solução de Problemas

Problema de permissão

  • Quando for criado novos arquivos, ou quando for a primeira inicialização do container com a aplicação, pode então haver um erro de permissão de acesso as pastas, neste caso, entre dentro do container da aplicação e execeute.
cd /var/www && \
chown -R www-data:www-data * && \
chmod -R o+w app

docker-php-com-nginx's People

Contributors

urnauzao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.