【サルが書く】LaraDockでLaravelの環境構築やってみよう編
わきゃ
環境構築がこの世で一番難しいと思っています。
今回はLaraDockを使用して、Laravelの開発環境構築を行っていきます。
※基本的にMacでの環境構築方法を説明していきます。
LaraDockとは?
LaraDockとは、仮想化ソフトウェア「Docker」上で動作する、オープンソースの開発環境です。
https://laradock.io/
Dockerとは、コンテナと呼ばれる仮想環境を作ることができるものです。これまでの仮想環境に比べると動作が軽く、環境の設定等をコードで管理できるため、環境の再現性が高いです。
LaraDockはLaravelの動作に必要な環境を構築するコードを、GitHubから引っ張ってきてそのコードを元にDockerが環境を構築してくれます。
LaraDockには以下の機能が含まれています。
- nginx (webサーバー)
- php-fpm (phpの実行環境)
- MySQL (DB管理システム)
- workspace (Laravelの開発に必要な環境がまとまっているもの)
- phpMyAdmin (MySQLをGUIで操作できるもの)
Laravelの環境を構築していくわよ
Laradockのの導入には Docker
と git
のインストールが必要です。
1. Dockerのインストール
DockerHubにアクセス会員登録を行う。
https://hub.docker.com/会員登録後に、トップページにある
Get started with Docker Desktop
のリンクをクリックし、Dockerをダウンロードします。ダウンロードファイルを展開し、指示通りにインストールを進めます。インストールが完了したらDockerを起動した状態にしておきましょう。
2. gitのインストール
Macの場合Xcodeがインストールがされていればgitのインストールがされていると思います。
以下のコマンドをターミナルで叩いてみましょう
$ git --version
git version 2.23.0
バージョン情報が出ていればgitはすでにインストールされています。
バージョンが古い場合があるので、最新版のgitをインストールしても良いと思います。
https://git-scm.com/downloads
3. LaraDockのインストール
# laradock_testという名前でディレクトリを作ります
bash-3.2$ mkdir laradock_test
# cd でlaradock_testに移動
bash-3.2$ cd laradock_test/
# git cloneでlaaradockのソースをダウンロードします。
bash-3.2$ git clone [email protected]:laradock/laradock.git
Cloning into 'laradock'...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 9337 (delta 10), reused 7 (delta 0), pack-reused 9305
Receiving objects: 100% (9337/9337), 8.66 MiB | 4.45 MiB/s, done.
Resolving deltas: 100% (5002/5002), done.
# lsでディレクトリの中身を確認するとlaaradockディレクトリが確認できます。
bash-3.2$ ls
laradock
# cdでlaradockディレクトリに移動しましょう。
bash-3.2$ cd laradock/
4. コンテナの初期化をやる
コンテナ初期化の前に、設定ファイルを作成する必要があります。
# 元のソースにあるenv-exampleを.envとしてコピーする
bash-3.2$ cp env-example .env
コンテナの初期化を行ってきましょう。
# コンテナの初期化行います。ダウンロードや設定を行うのでしばらく待ちます。
bash-3.2$ docker-compose up -d nginx mysql workspace phpmyadmin
初期化が終わると自動的にコンテナが起動状態になっています。
docker ps
コマンドを実行すると起動中のコンテナを確認することができます。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
09b6b2e0f3e8 laradock_nginx "/bin/bash /opt/star…" 28 seconds ago Up 26 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp laradock_nginx_1
7dcee16a8564 laradock_php-fpm "docker-php-entrypoi…" 29 seconds ago Up 27 seconds 9000/tcp laradock_php-fpm_1
7f049605423b laradock_phpmyadmin "/docker-entrypoint.…" 31 seconds ago Up 29 seconds 0.0.0.0:8080->80/tcp laradock_phpmyadmin_1
38a2d3135a8d laradock_workspace "/sbin/my_init" 31 seconds ago Up 28 seconds 0.0.0.0:2222->22/tcp laradock_workspace_1
018fa8e3cdde laradock_mysql "docker-entrypoint.s…" 32 seconds ago Up 30 seconds 0.0.0.0:3306->3306/tcp, 33060/tcp laradock_mysql_1
59ec053e8585 docker:dind "dockerd-entrypoint.…" 32 seconds ago Up 30 seconds 2375-2376/tcp laradock_docker-in-docker_1
6つのコンテナが起動していることが確認できます。
5. Laravelのプロジェクトを作っていこう
先程、初期化を行ったworkspaceが作業を行うコンテナなのでそこへ接続(ログイン)を行います。
ログインはデフォルトで用意されているlaradockで行います。
docker-compose exec --user=laradock workspace bash
ログインが完了すると、 /var/www
ディレクトリに入るので、下記のcomposerコマンドを叩いて新規プロジェクトを作成します。
このcreateコマンドを打つことによって、必要なパッケージは自動的にインストールされ、laravelのアプリケーションが作成されます。
コマンド内の test_app
がアプリケーション名になります。
composer create-project laravel/laravel test_app --prefer-dist "5.5.*"
アプリケーションは作成されましたが、まだ http://localhost
ではアクセスできません。
6. 最後にホストに設定をしなくてはならない......!!
一旦、workspaceコンテナから出ます。
laradock@38a2d3135a8d:/var/www$ exit
exit
そこで先程の .env
ファイルを編集します。
vi .env
###########################################################
###################### General Setup ######################
###########################################################
### Paths #################################################
# Point to the path of your applications code on your host
# ここを先程作成したアプリケーション名に書き換える
APP_CODE_PATH_HOST=../
↓
APP_CODE_PATH_HOST=../test_app
..(略)
書き換えただけでは、設定が反映されないので、コンテナの再起動を行います。
# 停止
bash-3.2$ docker-compose stop
Stopping laradock_nginx_1 ... done
Stopping laradock_php-fpm_1 ... done
Stopping laradock_phpmyadmin_1 ... done
Stopping laradock_workspace_1 ... done
Stopping laradock_mysql_1 ... done
Stopping laradock_docker-in-docker_1 ... done
# 起動
bash-3.2$ docker-compose up -d nginx mysql
Starting laradock_mysql_1 ... done
Recreating laradock_docker-in-docker_1 ... done
Recreating laradock_workspace_1 ... done
Recreating laradock_php-fpm_1 ... done
Recreating laradock_nginx_1 ... done
ここで http://localhost
にアクセスしてみましょう。
テストページが表示されるはずです!
環境ができた!いろいろためしてみよう!
7. 参考文献
Author And Source
この問題について(【サルが書く】LaraDockでLaravelの環境構築やってみよう編), 我々は、より多くの情報をここで見つけました https://qiita.com/hajimemath/items/0920ad045af21f8f6db2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .