Nginx, PHP-FPM, Composer, MySQL 및 PHPMyAdmin을 실행하는 Docker입니다.
필수 구성 요소 설치
프로젝트를 설치하기 전에 다음 전제조건이 충족되었는지 확인하십시오.
프로젝트 복제
GitHub의 저장소에서 코드를 다운로드합니다.
애플리케이션 실행
이 시점에서 우리는 모든 프로젝트 부분을 제자리에 갖출 것입니다.
Docker 명령 사용
실행할 때 반복 작업을 수행하기 위해 docker 명령을 사용할 수 있습니다.
테스트 신청
sudo를 사용하지 않고 docker 명령을 실행하려면 your-user 에 docker 그룹을 추가해야 합니다.
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에서 Postman 환경 가져오기
Notice:
자동차 면허증은 데이터베이스 수준에서 고유합니다. 파일에서 콘텐츠를 한 번만 가져올 수 있습니다.