LoginSignup
2
3

More than 3 years have passed since last update.

Windows10 に PHP7+Laravel環境をDockerで構築

Last updated at Posted at 2020-05-20

概要

掲題のとおり「Windows10 に PHP7+Laravel環境をDockerで構築」を、
↓こちらの神記事を参考に、初心者向けに解説していきます。

最強のLaravel開発環境をDockerを使って構築する【新編集版】

「どうしてそういう設定を施すのか?」といったことは元記事が丁寧に説明して下さっているので、ここではとにかくローカルPC内にLaravelサーバを立ち上げるまでの手続きを駆け足でご紹介すると共に、Windows10でやると行きづまる所を補足しています。

私が試した環境

  • Windows10 Pro 64bit版
  • Docker Desktop for Windows - 2.3.0.2 (今回の手順中でインストールします)
  • Git for Windows - 2.25.0.windows.1 (今回の手順中でインストールします)
  • Make for Windows - 3.81 (今回の手順中でインストールします)

下準備編

いくつかのソフトウェアが必要なので、ダウンロード&インストールしましょう。

Docker, docker-compose(Docker Desktop for Windows)

↓こちらをご参考に。

Windows 10 に Docker Desktop for Windows をインストールする

※ ↑の記事内に記載していますが、Windows10のエディションやパソコンのCPUによる条件がありますので、ご注意下さい。

Git, Git-Bash(Git for Windows)

↓こちらからダウンロードしてインストールしましょう。
https://gitforwindows.org/

Git for Windows を入れれば Git-Bash も一緒に入ります。

Git-Bash があれば、WindowsでもLinuxやMacと同じ作法のコマンド操作ができます。
(※完全に同じことができるわけではありません!一部だけです。)
今回はコマンド作業が必要なので、これを使います。

make for Windows

元記事ではmakeコマンドを使用されているので必要です。
(複雑なコマンドをショートカットのようにまとめるのに使用されています。)

↓こちらからダウンロードしてインストールしましょう。
http://gnuwin32.sourceforge.net/packages/make.htm

makeコマンドがあるフォルダを環境変数PATHに追加しておく。

どこからでもmakeコマンドを打てるようにしておきましょう。
手順は割愛しますが、代わりに↓こちらの記事を紹介させていただきます。

Windows で環境変数 PATH をいじる方法のまとめ

makeコマンドがあるフォルダの場所は、デフォルトのインストール設定では↓です。

C:\Program Files (x86)\GnuWin32\bin

make for Windows をインストールするときにインストール先フォルダをカスタマイズした場合は、↑を参考に探してみてください。

一部コマンドをwinpty経由で実行するよう設定する。

Gitインストール時、オプションUse MinTTYをONにした場合、この設定作業が必要です。

  1. Windowsにログオンしているユーザーのホームフォルダ(例: C:\Users\山田太郎)の中に.bashrcという名前のテキストファイルを作ります。(すでに存在する場合は不要です。)
  2. .bashrcの中身に↓を追記して保存します。
alias docker='winpty docker'
alias docker-compose='winpty docker-compose'
alias make='winpty make'

Git-Bashに慣れている方は、vimコマンドなどで作業してももちろんOKです!

※ winptyは、Windowsへのコマンド指示をLinuxっぽいインターフェースでできるようにするラッパー的なソフトです。
ここでは、dockerdocker-composemakeコマンドだけ、自動的にwinpty経由で実行するよう設定をしています。
これをしないと、dockerコンテナの中に入って作業する系のコマンドが↓のようなエラーで失敗します。

$ docker-compose exec app composer create-project --prefer-dist laravel/laravel .
the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

またmakeの中で実行されるコマンドもwinpty経由で実行させるにはmake自体をwinpty経由で実行しなければダメなので、3行目でそのように設定しています。

構築編

こちらは駆け足でザッと参ります。
一通り完了したら、ぜひ元記事も読んでみてください。

Git-Bashを起動する。

image.png

適当なフォルダを作って移動する。

ソースコードをダウンロードして色々やるので、万が一汚れても大丈夫なフォルダを作ってそこで作業しましょう。
ここでは例として、Cドライブ直下にtempというフォルダを作ってそこに移動してます。

cd /c
mkdir temp
cd temp

元記事で公開されているソースコード一式をダウンロードする。

githubに公開されているので、gitコマンドを使ってダウンロードします。
このコマンドなら、githubアカウントを持ってなくてもダウンロードできるはず…

git clone git://github.com/ucan-lab/docker-laravel.git

余談ですが、セキュリティ的には https:// で始まるURLでgit cloneするのが推奨されているので、githubアカウントをお持ちであれば↓こちらのコマンドでもOKです。

git clone https://github.com/ucan-lab/docker-laravel.git

makeコマンド向け設定ファイルが存在するフォルダに移動する。

cd docker-laravel/infrastructure

LaravelサンプルWEBサイトを新規作成するコマンドを実行する。

make create-project

数分かかるかも。
ずらーっと流れるログが↓のようになって止まったらOK。

・
・
・
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
32 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

XXXXXX@XXXXX MINGW64 /c/temp/docker-laravel/infrastructure
$

LaravelサンプルWEBサイトにアクセスしてみる。

↓をWEBブラウザで開いてみてください。
http://127.0.0.1

↓こういうWEBページが表示されたら、成功!
image.png

これはLaravelフレームワークを使って作られているサンプルWEBページで、それを動かすためのWEBサーバが自分のPC内で起動している証です。

お疲れ様でした。

:thumbsup::thumbsup::thumbsup:

この記事では端折った部分もあるので、ぜひ元記事も一読してみてください。

最強のLaravel開発環境をDockerを使って構築する【新編集版】

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3