Docker работает под управлением Nginx, PHP-FPM, Composer, MySQL и PHPMyAdmin.
Установить необходимые компоненты
Перед установкой проекта убедитесь, что выполнены следующие предварительные условия.
Клонировать проект
Мы загрузим код из репозитория на GitHub.
Запустите приложение
К этому моменту у нас будут готовы все части проекта.
Используйте команды Docker
Во время работы вы можете использовать команды Docker для выполнения повторяющихся операций.
Тестовое приложение
Чтобы запускать команды docker без использования sudo, вы должны добавить группу docker в свой-user :
sudo usermod -aG docker your-user
На данный момент этот проект в основном создан для Unix (Linux/MacOS)
. Возможно, это могло бы работать в Windows.
Все реквизиты должны быть доступны для вашего дистрибутива. Наиболее важными являются:
Проверьте, установлен ли docker-compose
, введя следующую команду:
which docker-compose
Проверьте совместимость Docker Compose:
В Ubuntu и Debian они доступны в мета-пакете build-essential. В других дистрибутивах вам может потребоваться установить компилятор GNU C++ отдельно.
sudo apt install build-essential
Будьте осторожны при установке сторонних веб-серверов, таких как MySQL или Nginx.
В этом проекте используются следующие порты:
Сервер | Порт |
---|---|
MySQL | 8989 |
PHPMyAdmin | 8080 |
Нгинкс | 8000 |
Чтобы установить Git, загрузите его и установите, следуя инструкциям:
git clone https://github.com/sahedbs23/oscar-car-rental.git
Перейдите в каталог проекта:
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
Запустите приложение:
docker-compose up -d
Пожалуйста, подождите, это может занять несколько минут...
docker-compose logs -f # Follow log output
Откройте ваш любимый браузер:
Остановить и очистить службы
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
и
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:
Замените «YOUR_DB_NAME» на свое собственное имя.
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:
Импортируйте коллекцию почтальонов из api-doc/postman_collection.json.
Notice:
Импортируйте среду почтальона из api-doc/postman_environment.json.
Notice:
Автомобильные права являются уникальными на уровне базы данных. Вы можете импортировать содержимое из файла только один раз.