# Docker/Laravel CloudRun ## 構成とバージョン php, mysql で個人開発ようのデプロイ環境を構築 php: `^8.x` laravel: `^9.x`(==2022/2 リリースの最新LTS版==) docker: CloudRun にあげるために利用 cloudRun: dockerのイメージデプロイに利用 ## 環境構築手順書 ### Laravel環境構築(ローカル) 1. 以下のディレクトリ構成でファイルを作成  DockerFile の編集 ``` [Dockerfile] FROM php:8.0.2-apache COPY --from=composer:latest /usr/bin/composer /usr/bin/composer RUN apt-get update && apt-get install -y \ git \ && docker-php-ext-install pdo_mysql RUN sed -i 's!/var/www/html!/var/www/app/public!g' /etc/apache2/sites-available/000-default.conf ``` docker-compose.yml の編集 ``` [docker-compose.yml] version: '3' services: app: build: ./docker ports: - 80:80 volumes: - ./app:/var/www/app working_dir: /var/www/app db: image: mysql:8.0 ports: - "${EXPOSE_DB_PORT}:${DB_PORT}" environment: MYSQL_ROOT_PASSWORD: "${DB_ROOT_PASSWORD}" MYSQL_DATABASE: "${DB_DATABASE}" MYSQL_USER: "${DB_USER}" MYSQL_PASSWORD: ${DB_PASSWORD}" TZ: "Asia/Tokyo" ``` docker-compose.yml と同階層に、 .env を作成し環境変数設定 ``` [.env 設定例] DB_PORT=3306 EXPOSE_DB_PORT=3310 DB_HOST=db DB_ROOT_PASSWORD=password DB_DATABASE=cloud-run-dev DB_USER=user DB_PASSWORD=password ``` docker コンテナ作成 ``` $ cd `${プロジェクトルート}` # 定義したdocker イメージ、コンテナの作成 $ docker-compose up -d ``` docker デスクトップ等でイメージの確認 (画像のようになっていれば成功)  app コンテナに入る。 ``` [app] $ pwd /var/www/app # app 直下でLaravel 9系をinstall $ composer create-project --prefer-dist laravel/laravel . "9.x" # 途中で聞かれるので 「Y」を入力 Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? Y ``` `http://localhost:80` へアクセスし、同じ画面が表示されるか確認  laravelの.env を編集(passwordとかはdockerで設定した値に揃える) ``` [.env の該当箇所を編集] DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=cloud-run-dev DB_USERNAME=root DB_PASSWORD=password ``` migration を実行 ``` # .env の設定の反映 $ php artisan config:cache # migration 実行 $ php artisan migrate Migration table created successfully. Migrating: 2014_10_12_000000_create_users_table Migrated: 2014_10_12_000000_create_users_table (89.03ms) Migrating: 2014_10_12_100000_create_password_resets_table Migrated: 2014_10_12_100000_create_password_resets_table (52.98ms) Migrating: 2019_08_19_000000_create_failed_jobs_table Migrated: 2019_08_19_000000_create_failed_jobs_table (56.42ms) Migrating: 2019_12_14_000001_create_personal_access_tokens_table Migrated: 2019_12_14_000001_create_personal_access_tokens_table (81.23ms) ``` --- #### [補足] Dbbeaver での接続    
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up