検証環境
Windows 10 Pro
Docker Desktop for Windows
Docker Desktop for Windowsのインストール
Docker Desktop for Windowsをインストールします。
Windows Subsystem for Linux 2(WSL2)がインストールされ、有効になっていることを確認する
% wsl -l -v
Linux 用 Windows サブシステムには、ディストリビューションがインストールされていません。
ディストリビューションは Microsoft Store にアクセスしてインストールすることができます:
https://aka.ms/wslstore
インストールされていない場合は、以下のURLサイトを参照し、WSL2をインストールし、有効にします。
wsl環境でCurlを実行し、プロジェクトを作成する
Windowsターミナルを起動します。wslコマンドによりlinux環境に入ります。
% wsl
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.72-microsoft-standard-WSL2 x86_64)
curlコマンドによりプロジェクトを作成します。
% curl -s https://laravel.build/example-app | bash
_ _
| | | |
| | __ _ _ __ __ ___ _____| |
| | / _` | '__/ _` \ \ / / _ \ |
| |___| (_| | | | (_| |\ V / __/ |
|______\__,_|_| \__,_| \_/ \___|_|
Warning: TTY mode requires /dev/tty to be read/writable.
Creating a "laravel/laravel" project at "./example-app"
Installing laravel/laravel (v8.5.16)
- Downloading laravel/laravel (v8.5.16)
- Downloading laravel/laravel (v8.5.16)
- Downloading laravel/laravel (v8.5.16)
- Installing laravel/laravel (v8.5.16): Extracting archive
Created project in /opt/example-app
.
.
.
Application ready! Build something amazing.
Sail scaffolding installed successfully.
Please provide your password so we can make some final adjustments to your application's permissions.
[sudo] password for user:
Thank you! We hope you build something incredible. Dive in with: cd example-app && ./vendor/bin/sail up
linuxディストリビューションのパスワード入力を求められますので、パスワードを入力します。
ポート番号を設定する
example-app/docker-compose.ymlファイルを確認します。
# For more information: https://laravel.com/docs/sail
version: '3'
services:
laravel.test:
build:
context: ./docker/8.0
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.0/app
ports:
- '${APP_PORT:-80}:80'
environment:
WWWUSER: '${WWWUSER}'
LARAVEL_SAIL: 1
volumes:
- '.:/var/www/html'
networks:
- sail
depends_on:
- mysql
- redis
- selenium
mysql:
image: 'mysql:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
MYSQL_DATABASE: '${DB_DATABASE}'
MYSQL_USER: '${DB_USERNAME}'
MYSQL_PASSWORD: '${DB_PASSWORD}'
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailmysql:/var/lib/mysql'
networks:
- sail
healthcheck:
test: ["CMD", "mysqladmin", "ping"]
.
.
.
networks:
sail:
driver: bridge
volumes:
sailmysql:
driver: local
sailredis:
driver: local
sailmeilisearch:
driver: local
laravel.testコンテナとmysqlコンテナのポート番号が環境変数となっています。
example-app/.envファイルにホストOSの環境に合わせてポート番号を設定します。
FORWARD_DB_PORT=3305
APP_PORT=81
sail upにより起動する
% cd ./example-app
% wsl ./vendor/bin/sail up -d
...
Creating example-app_redis_1 ... done
Creating example-app_mysql_1 ... done
Creating example-app_selenium_1 ... done
Creating example-app_mailhog_1 ... done
Creating example-app_meilisearch_1 ... done
Creating example-app_laravel.test_1 ... done
コンテナが起動できたことを確認します。
ブラウザよりアクセス
http://localhost:81
画面が表示されます。
↧