Windows10でDocker for Windowsをインストールし、LaradockでLaravel新規プロジェクトを動かすまでのメモ。
環境
- Windows 10 Pro
- Lenovo Thinkpad X1 Carbon
Windows for Dockerをインストール
Install Docker for Windows のページで[Get Docker for Windows (Stable)]からダウンロード
インストーラーのインストラクションに沿ってインストールを行う
Hyper-Vを起動
Windows for Dockerを動作させるためには、Hyper-Vが必要。
デフォルトの環境ではHyper-Vが起動していないため、インストール直後にdockerを起動起動しようとすると下記のようなエラーが表示される。
Hardware assisted virtualization and data execution protection must be enabled in the BIOS. See https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization-must-be-enabled
下記のコマンドでHyper-Vを起動する
Start-Process powershell.exe -Verb runas
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
下記のメッセージが表示されて起動が完了
展開イメージのサービスと管理ツール
バージョン: 10.0.15063.0
イメージのバージョン: 10.0.15063.0
機能を有効にしています
[==========================100.0%==========================]
操作は正常に完了しました。
しかし、Hyper-Vを起動を起動しても上記のエラーはまだ出現した。
こちらを参考に、BiosでVirtualizationを有効化。
自分の環境では、下記の手順でvirtualizationを有効化した。
- システム再起動
- Lenovoのロゴが表示されているときに[Enter]をクリック
- [F1] > Security > Virtualization で[Enter]をクリックしてEnabledを選択
- [F10]で保存
※ Hyper-VはWindows 10のPro版にのみデフォルトで付属
Laradockのセットアップ
LaradockでLaravelの新規プロジェクトを動かしてみる
laradockをセットアップ
power shellを開き、作業ディレクトリを準備
今回は、新規でlaravelプロジェクトを作成することを想定
下記のようなディレクトリ構造になる
≈
作業ディレクトリを作成し、移動
cd C:\
mkdir workspace
cd workspace
mkdir dockerLaravel
cd dockerLaravel
Laradockをクローンし、laradockディレクトリに入る
git clone https://github.com/Laradock/laradock.git
cd laradock
設定ファイルをenv-exampleからコピーして作成
cp env-example .env
Laravel新規プロジェクトを作成
コンテナ群を起動。下記のコマンドで、php-fpmやworkspaceのコンテナも起動される
docker-compose up -d nginx mysql
workspaceコンテナに入る
docker-compose exec workspace bash
Composerを使い、Laravelプロジェクトを作成
cd /var/www
composer create-project --prefer-dist laravel/laravel testapp
または、既存プロジェクトが存在する場合はここで git clone
する
DocumentRootの設定
次にDockumentRootを変更する。
下記ファイルを開く
laradock/nginx/sites/defautl.conf
下記のように編集する
## 変更前
root /var/www/public
## 変更後
root /var/www/testapp/public
コンテナを再起動
docker-compose restart
ブラウザで下記アドレスにアクセスして確認する
http://localhost
コンテナを停止するときは下記コマンド
docker-compose stop
次回コンテナを起動したいときは、
docker-compose start
参考
- Docker for Windows error: “Hardware assisted virtualization and data execution protection must be enabled in the BIOS”
- Windows 10 上に Hyper-V をインストールする
- WindowsのPowerShellを管理者権限で起動する方法
- docker for windowsではまったこと
以上