Docker rodando Nginx, PHP-FPM, Composer, MySQL e PHPMyAdmin.
Pré-requisitos de instalação
Antes de instalar o projeto, certifique-se de que os seguintes pré-requisitos foram atendidos.
Clonar o projeto
Faremos download do código de seu repositório no GitHub.
Execute o aplicativo
Neste ponto, teremos todas as peças do projeto no lugar.
Use comandos do Docker
Durante a execução, você pode usar comandos docker para realizar operações recorrentes.
Aplicação de teste
Para executar os comandos do docker sem usar sudo você deve adicionar o grupo docker ao seu usuário :
sudo usermod -aG docker your-user
Por enquanto, este projeto foi criado principalmente para Unix (Linux/MacOS)
. Talvez pudesse funcionar no Windows.
Todos os requisitos devem estar disponíveis para sua distribuição. Os mais importantes são:
Verifique se docker-compose
já está instalado digitando o seguinte comando:
which docker-compose
Verifique a compatibilidade do Docker Compose:
No Ubuntu e no Debian, eles estão disponíveis no metapacote build-essential. Em outras distribuições, pode ser necessário instalar o compilador GNU C++ separadamente.
sudo apt install build-essential
Você deve ter cuidado ao instalar servidores web de terceiros, como MySQL ou Nginx.
Este projeto usa as seguintes portas:
Servidor | Porta |
---|---|
MySQL | 8989 |
PHPMeuAdmin | 8080 |
Nginx | 8.000 |
Para instalar o Git, baixe-o e instale seguindo as instruções:
git clone https://github.com/sahedbs23/oscar-car-rental.git
Vá para o diretório do projeto:
cd oscar-car-rental
.
├── Makefile
├── README.md
├── data
│ └── db
│ ├── dumps
│ └── mysql
├── doc
├── docker-compose.yml
├── etc
│ ├── nginx
│ │ ├── default.conf
│ │ └── default.template.conf
│ ├── php
│ │ └── php.ini
│ └── ssl
└── web
├── app
│ ├── composer.json.dist
│ ├── phpunit.xml.dist
│ ├── src
│ │ └── App.php
│ └── test
│ └── bootstrap.php
└── public
└── index.php
Inicie o aplicativo:
docker-compose up -d
Aguarde, isso pode levar alguns minutos...
docker-compose logs -f # Follow log output
Abra seu navegador favorito:
Parar e limpar serviços
docker-compose down -v
docker run --rm -v $( pwd ) /web/app:/app composer require symfony/yaml
docker run --rm -v $( pwd ) /web/app:/app composer update
docker-compose exec -T php ./app/vendor/bin/phpunit --colors=always --configuration ./app
docker-compose exec -T php ./app/vendor/bin/phpmd ./app/src text cleancode,codesize,controversial,design,naming,unusedcode
docker-compose exec php php -m
docker exec -it mysql bash
e
mysql -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD "
mkdir -p data/db/dumps
source .env && docker exec $( docker-compose ps -q mysqldb ) mysqldump --all-databases -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " > " data/db/dumps/db.sql "
source .env && docker exec -i $( docker-compose ps -q mysqldb ) mysql -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " < " data/db/dumps/db.sql "
Notice:
Substitua "YOUR_DB_NAME" pelo seu nome personalizado.
source .env && docker exec $( docker-compose ps -q mysqldb ) mysqldump -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " --databases YOUR_DB_NAME > " data/db/dumps/YOUR_DB_NAME_dump.sql "
source .env && docker exec -i $( docker-compose ps -q mysqldb ) mysql -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " < " data/db/dumps/YOUR_DB_NAME_dump.sql "
Notice:
importe a coleção do carteiro de api-doc/postman_collection.json
Notice:
importe o ambiente postman de api-doc/postman_environment.json
Notice:
Uma licença de carro é única no nível do banco de dados. Você pode importar o conteúdo do arquivo apenas uma vez.