Laravel9 Sail インストール
検証環境
- Windows 10 Pro
- Docker Desktop for Windows
1.Docker Desktop for Windowsのインストール
Docker Desktop for Windowsをインストールします。
2. Windows Subsystem for Linux 2(WSL2)がインストールされ、有効になっていることを確認する。
2-1 wslを確認する。
Windows Terminalを使用して、以下のコマンドにより、確認します。
wsl --status
WSL 2 カーネル ファイルが見つかりません。カーネルを更新または復元するには、'wsl.exe --update' を実行してください。
上記メッセージが表示された場合、カーネルを更新します。
wsl --update
wsl -l -v
以下のメッセージが表示された場合は、インストールされていません。
Linux 用 Windows サブシステムには、ディストリビューションがインストールされていません。
ディストリビューションは Microsoft Store にアクセスしてインストールすることができます:
https://aka.ms/wslstore
インストールされていない場合は、wsl2をインストールします。
参考サイト
2-2 wslを最新に更新する。
wsl --update
2-3 インストールするバージョンをWSL 2とする。
wsl --setdefault 2
2-4 インストールできるディストリビューションを確認する。
wsl -l -o
インストールできる有効なディストリビューションの一覧を次に示します。
wsl --install -d <Distro>' を使用してインストールします。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
2-5 ディストリビューションを指定してインストールする。
今回は、Ubuntuを指定します。
wsl --install -d Ubuntu
インストールの最後にディストリビューションのユーザーとパスワードの設定があります。
ユーザーとパスワードは忘れないように控えておきます。
2-6 インストールを確認する。
wsl -l -v
以下のメッセージが表示されれば、インストールが完了しています。
NAME STATE VERSION
* Ubuntu Running 2
3. wsl環境でCurlを実行し、プロジェクトを作成する
3-1 Windowsターミナルを起動します。wslコマンドによりlinux環境に入ります。
terminal
wsl
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.72-microsoft-standard-WSL2 x86_64)
3-2 プロジェクトを格納するディレクトリを作成し、ディレクトリを移動します。
wsl
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.72-microsoft-standard-WSL2 x86_64)
linux環境より
mkdir Laravel
cd Laravel
3-3 curlコマンドによりプロジェクトを作成します。
今回はexample-appという名前のプロジェクトを作成します。
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ディストリビューションのパスワード入力を求められますので、2-5で設定したパスワードを入力します。
4. ポート番号を設定する
4-1 example-app/docker-compose.ymlファイルを確認します。
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
# 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コンテナのポート番号が環境変数となっています。
4-2 .envファイルにポート番号を設定する。
example-app/.envファイルにホストOSの環境に合わせてポート番号を設定します。
今回は、ホストOSのポート番号3306と80が使用中であったため、設定します。
以下の記述をexample-app/.envファイルの最後に設定します。
.
.
.
FORWARD_DB_PORT=3305
APP_PORT=81
5.sail upによりSailを起動する
sail up により起動します。
cd ./example-app
./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
コンテナが起動できたことを確認します。
6.ブラウザよりアクセス
画面が表示されます。
Author And Source
この問題について(Laravel9 Sail インストール), 我々は、より多くの情報をここで見つけました https://qiita.com/bummy/items/92e357906bdc6908d738著者帰属:元の著者の情報は、元の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 .