利用するもの
- OS windows11
- WSL2
- linuxディストリビューション(ubuntu)
- Docker Desktop
■ コマンド
※WSL(ubuntu)上で、操作を行う
※WSL(ubuntu)上で、操作を行う
- DOCKER コンテナを起動(ホストOS windowsで Docker Desktop を起動している状態で行う)
> docker run -it -v $(pwd):/opt -w /opt laravelsail/php81-composer:latest /bin/bash
docker run:
Dockerコンテナを実行するためのコマンド
-it:
インタラクティブモードで実行し、ターミナルに接続。
-v $(pwd):/opt:
ホストマシンの現在のディレクトリをコンテナ内の/optディレクトリにマウントする。
・これにより、ホストマシンのファイルやディレクトリをコンテナ内で使用できる。
・コンテナ内で作成したディレクトリやファイルがホストマシンのディレクトリに残る。
-w /opt:
コンテナ内で作業ディレクトリを/optに設定する。コマンドが実行される場所がこのディレクトリになる(プロンプトが変わる)。
laravelsail/php81-composer:latest:
Dockerイメージの名前とタグを指定。
このコマンドは、laravelsail/php81-composerというイメージを使用し、その最新バージョン(latestタグ)を実行する。
/bin/bash:
コンテナ内でBashシェルを起動する。これにより、コンテナ内でコマンドを入力し実行するための対話型シェルが提供される。
Dockerコンテナを実行するためのコマンド
-it:
インタラクティブモードで実行し、ターミナルに接続。
-v $(pwd):/opt:
ホストマシンの現在のディレクトリをコンテナ内の/optディレクトリにマウントする。
・これにより、ホストマシンのファイルやディレクトリをコンテナ内で使用できる。
・コンテナ内で作成したディレクトリやファイルがホストマシンのディレクトリに残る。
-w /opt:
コンテナ内で作業ディレクトリを/optに設定する。コマンドが実行される場所がこのディレクトリになる(プロンプトが変わる)。
laravelsail/php81-composer:latest:
Dockerイメージの名前とタグを指定。
このコマンドは、laravelsail/php81-composerというイメージを使用し、その最新バージョン(latestタグ)を実行する。
/bin/bash:
コンテナ内でBashシェルを起動する。これにより、コンテナ内でコマンドを入力し実行するための対話型シェルが提供される。
つまり、このコマンドは、Dockerコンテナを起動し、そのコンテナ内でBashシェルを実行することができる。
また、ホストマシンの現在のディレクトリが/optにマウントされ、コマンドはそのディレクトリ内で実行される。
これにより、コンテナ内でファイルやディレクトリを操作できる環境が提供される。
また、ホストマシンの現在のディレクトリが/optにマウントされ、コマンドはそのディレクトリ内で実行される。
これにより、コンテナ内でファイルやディレクトリを操作できる環境が提供される。
- プロジェクトを作成(前コマンドで、ここではコンテナ内ディレクトリに入っている ※このケースはlaravelのバージョン10を指定の場合)
> composer create-project 'laravel/laravel:10.*' sail-example
・sail-example の箇所は、名称は任意
- ディレクトリ「sail-example」へ移動
> cd sail-example
- Sailをインストールした後は、sail:install Artisanコマンドを実行。
このコマンドは、Sailのdocker-compose.ymlファイルをアプリケーション(プロジェクト)のルートへリソース公開する。
> php artisan sail:install
- コンテナ内から出て、WSL(ubuntu)へ戻る
> exit
- WSL(ubuntu)から sailを起動する
./vendor/bin/sail up -d
sudo chown -R ユーザー名:ユーザー名 .
Laravel 9.x Laravel Sail
https://readouble.com/laravel/9.x/ja/sail.html
https://readouble.com/laravel/9.x/ja/sail.html