前のパートに戻る 完了して次のパートへ  

  0-4 Laradockによる開発環境構築(Mac編)

このパートでは、Laradockをインストールして、Laravelを動かすための開発環境を作ります。

Laravelを動かす為には、Webサーバーや、多くの場合でデータベースが必要になってきます。

Laradockを使うことで、このWebサーバーやデータベースをDocker上に簡単に構築することができます。

1. Laradockのインストール


あなたのPCの任意のディレクトリの配下にci-tutorialディレクトリを作成してください。

$ mkdir ci-tutorial

そして、ci-tutorialディレクトリに移動してください。

$ cd ci-tutorial

ci-tutorialディレクトリに移動したら、以下のコマンドでlaradockをインストールしてください。

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

Cloning into 'laradock'...と、数行のメッセージが表示されると思います。

完了すると、laradockというディレクトリが作成されます。

.
└──ci-tutorial
    └── laradock

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


次に、laradockの設定に関わるファイルのひとつである、.envファイルを作成します。

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

以下を入力してください。

$ cd laradock
$ cp env-example .env

3. laradockの.envファイルを編集する


次にエディタ等を使って、.envファイルのうち、

  • APP_CODE_PATH_HOST
  • DATA_PATH_HOST
  • COMPOSE_PROJECT_NAME

の3箇所を以下の通り編集してください。

.
└──ci-tutorial
    └── laradock
        └── .env


###########################################################
###################### General Setup ######################
###########################################################

### Paths #################################################

# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../laravel-ci #========== この行を変更

# Point to where the `APP_CODE_PATH_HOST` should be in the container
APP_CODE_PATH_CONTAINER=/var/www

# You may add flags to the path `:cached`, `:delegated`. When using Docker Sync add `:nocopy`
APP_CODE_CONTAINER_FLAG=:cached

# Choose storage path on your machine. For all storage systems
DATA_PATH_HOST=../data #========== この行を変更

### Drivers ################################################

# All volumes driver
VOLUMES_DRIVER=local

# All Networks driver
NETWORKS_DRIVER=bridge

### Docker compose files ##################################

# Select which docker-compose files to include. If using docker-sync append `:docker-compose.sync.yml` at the end
COMPOSE_FILE=docker-compose.yml

# Change the separator from : to ; on Windows
COMPOSE_PATH_SEPARATOR=:

# Define the prefix of container names. This is useful if you have multiple projects that use laradock to have seperate containers per project.
COMPOSE_PROJECT_NAME=laravel-ci #========== この行を変更

# 略

4. PostgreSQLのバージョンの指定


Docker上で動く各サービスの単位をコンテナと呼びます。

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

  • workspace
  • php-fpm
  • nginx
  • postgres

起動するコンテナの中にpostgresがありますが、これはPostgreSQLというデータベースシステムです。

今回、PostgreSQLはバージョン11.6を使うことにします。

そのため、laradock/postgresディレクトリにあるDockerfileの1行目を以下の通り編集してください。

.
└──ci-tutorial
    └── laradock
        └── postgres
            └── Dockerfile


#========== 以下の行を変更(alpineを11.6に)
FROM postgres:11.6

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


次にDockerを使って開発環境を起動します。

laradockディレクトリで以下のコマンドを入力してください。

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

コマンドの意味は以下の通りです。

  • docker-composeは、複数のコンテナを同時に取り扱うDocker Composeという機能を使うためのコマンドです
  • upは、Docker Composeでコンテナを起動するときに使うコマンドです
  • -dは、コンテナを起動した後に、ターミナルの操作に戻るためのオプションです

コマンドを実行すると、大量のメッセージが表示されます。

初回は、各コンテナのソフトウェア本体(Dockerイメージ)をダウンロードしてくるため、コンテナの起動までに数分程度の時間がかかります。

最後に以下のメッセージが表示されたら、コンテナの起動は成功です。

Creating laravel-ci_docker-in-docker_1 ... done
Creating laravel-ci_workspace_1        ... done
Creating laravel-ci_php-fpm_1          ... done
Creating laravel-ci_nginx_1            ... done
Creating laravel-ci_porstgres_1        ... done

もし、この5つのメッセージが表示されなかったら、もう一度docker-compose up -d workspace php-fpm nginx postgresを実施してみてください。

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

以下のような表示がされたら、ここまでの作業は問題ありません。

(これは404 Not Foundというエラー画面の一種ですが、Dockerで開発環境が起動できたことは分かりますので、現時点ではこれでOKです)

以上で、Laradockの導入は完了です。

議論

2 質問

このコースの評価は?