概要
掲題のとおり「Windows10 に PHP7+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)
↓こちらをご参考に。
※ ↑の記事内に記載していますが、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
コマンドを打てるようにしておきましょう。
手順は割愛しますが、代わりに↓こちらの記事を紹介させていただきます。
makeコマンドがあるフォルダの場所は、デフォルトのインストール設定では↓です。
C:\Program Files (x86)\GnuWin32\bin
make for Windows をインストールするときにインストール先フォルダをカスタマイズした場合は、↑を参考に探してみてください。
一部コマンドをwinpty経由で実行するよう設定する。
Gitインストール時、オプションUse MinTTY
をONにした場合、この設定作業が必要です。
- Windowsにログオンしているユーザーのホームフォルダ(例:
C:\Users\山田太郎
)の中に.bashrc
という名前のテキストファイルを作ります。(すでに存在する場合は不要です。) -
.bashrc
の中身に↓を追記して保存します。
alias docker='winpty docker'
alias docker-compose='winpty docker-compose'
alias make='winpty make'
Git-Bashに慣れている方は、vimコマンドなどで作業してももちろんOKです!
※ winptyは、Windowsへのコマンド指示をLinuxっぽいインターフェースでできるようにするラッパー的なソフトです。
ここでは、docker
、docker-compose
、make
コマンドだけ、自動的に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を起動する。
適当なフォルダを作って移動する。
ソースコードをダウンロードして色々やるので、万が一汚れても大丈夫なフォルダを作ってそこで作業しましょう。
ここでは例として、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
これはLaravelフレームワークを使って作られているサンプルWEBページで、それを動かすためのWEBサーバが自分のPC内で起動している証です。
お疲れ様でした。
この記事では端折った部分もあるので、ぜひ元記事も一読してみてください。