見出し画像

DockerでLaravelの環境構築(Windows)

どもどもTikkaです。

10月の頭に雑学投稿サービス「ザツバコ」をリリースしました。

雑学や教養ををもっと手軽に集められたらいいな~という思いで作ったサービスですが、初めてのWeb制作だったので前途多難でした。

このサービスを作る過程で勉強したことを振り返るための備忘録として残そうかなと思います。

DockerDesktopをインストール

上記のサイトのナビバーからProducts→DockerDesktopを選択。

DownloadforWindows(stable)を選択

ああ

DockerDesktopInstallerがインストールされるので実行する。

Windows10のProを使っている人はこのままDockerを使えますが、HOMEの場合はDockerToolboxというのをインストールする必要があります。

詳しい説明は省きますが、.exeをここからインストールします。

Laradockインストール

LaradockとはLaravelを動かす為に必要なWebサーバーや、多くの場合でデータベースをDocker上に簡単に構築することができます。

ターミナルを開きます。

$ cd 

ホームに移動して適当な名前のディレクトリを作ります。今回はlara-testというディレクトリを作りました。

$ mkdir lara-test
$ cd lara-test

lara-test上で、gitを使ってLaradockをインストールします

$ git clone https://github.com/Laradock/laradock.git -b v9.6
$ ls

Laradockと表示されます。

laradockの.envファイルを作成する

環境変数を設定できる.envを作成します。

$ cd laradock
$ cp env-example .env

laradockは、.envファイルの雛形としてenv-exampleファイルを用意してくれているので、これを元に作成します。

エディタを使って、.envファイルを編集します。


└──lara-test
   └── laradock
       └── .env

該当箇所を以下のように編集します。

APP_CODE_PATH_HOST=../laravel
DATA_PATH_HOST=../data
COMPOSE_PROJECT_NAME=lara-test

Dockerを使って開発環境を起動する

Docker上で動く各サービスのコンテナを起動します。

今回は以下の4つのコンテナを起動します。

workspace
php-fpm
nginx
postgres

データベースのPostgreSQLはバージョン11.6を使います。

そのため、laradock/postgresディレクトリにあるDockerfileの1行目を以下のように修正します。

FROM postgres:11.6

編集が終わったら、lara-test/laradockディレクトリに移動します。

$ cd ~/lara-test/laradock

以下のコマンドを実行します。

$ docker-compose up -d workspace php-fpm nginx postgres

docker-compose…複数のコンテナを同時に取り扱うDocker Composeという機能を使うためのコマンドです

up…Docker Composeでコンテナを起動するときに使うコマンドです。

-d…コンテナを起動した後に、ターミナルの操作に戻るためのオプション

以下のメッセージが表示されたらコンテナの起動は完了です。

Creating lara-test_docker-in-docker_1 ... done
Creating lara-test_workspace_1        ... done
Creating lara-test_php-fpm_1          ... done
Creating lara-test_nginx_1            ... done
Creating lara-test_porstgres_1        ... done

コンテナの起動が完了したら、今度はブラウザを起動し、アドレスバーにlocalhostと入力してください。

404 Not Foundと出ていたら大丈夫です。

Laravelのインストール

lara-test/laradockディレクトリで以下のコマンドを実行する。

$ docker-compose exec workspace composer create-project --prefer-dist laravel/laravel . "6.8.*"

​Laravelのウェルカムページへアクセスする

Laravelのインストールが完了したら、ブラウザでlocalhostにアクセスしてください。

Laravelのウェルカムページが表示されます。 

Laravelの時刻設定を日本時間にする​。

.
└──lara-test
   └── laravel
       └── config
           └── app.php

以下のように編集する。

// 略
   /*
   |--------------------------------------------------------------------------
   | Application Timezone
   |--------------------------------------------------------------------------
   |
   | Here you may specify the default timezone for your application, which
   | will be used by the PHP date and date-time functions. We have gone
   | ahead and set this to a sensible default for you out of the box.
   |
   */
   'timezone' => 'Asia/Tokyo', //-- この行を変更
// 略

Laravelのインストールは完了です。

この記事が気に入ったらサポートをしてみませんか?