Nginx、PHP-FPM、Composer、MySQL、および PHPMyAdmin を実行する Docker。
前提条件をインストールする
プロジェクトをインストールする前に、次の前提条件が満たされていることを確認してください。
プロジェクトのクローンを作成する
GitHub 上のリポジトリからコードをダウンロードします。
アプリケーションを実行する
この時点で、プロジェクトのすべての要素が整います。
Docker コマンドを使用する
実行中に、docker コマンドを使用して繰り返し操作を行うことができます。
テストアプリケーション
sudo を使用せずに docker コマンドを実行するには、 dockerグループをyour-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 などのサードパーティ Web サーバーをインストールする場合は注意が必要です。
このプロジェクトは次のポートを使用します。
サーバ | ポート |
---|---|
MySQL | 8989 |
PHPMyAdmin | 8080 |
Nginx | 8000 |
Git をインストールするには、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 から postman コレクションをインポートします
Notice:
api-doc/postman_environment.json から postman 環境をインポートします
Notice:
自動車免許はデータベース レベルで一意です。ファイルからコンテンツをインポートできるのは 1 回だけです。