文系Webエンジニアの技術メモとたまに旅のメモ

未経験文系エンジニアとして働いてます。アウトプットとして簡単に技術メモを残していきます。たまに旅関係のも趣味で残していこうと思ってます。

【Docker/Laravel Sail】Laravel Sail を使用し、Docker でLaravel の環境を簡単に実施!

Laravel Sail が2020年12月9日に公開されました。
Dokcer の操作が慣れていない方や、環境構築を素早く行いたいという方におすすめです!

公式サイトに手順が記載されているので、こちらも参考に行なってみてください。
https://readouble.com/laravel/8.x/ja/sail.html

1.開発環境・インストール内容

MacOS:M1チップ Big Sur 11.4
Docker:20.10.11
Laravel:8.78.1
PHP:8.1.1

Docker をまだインストールしていない方は以下を参考に行なってください。
44igarashi.hatenablog.com

2.Laravel Sail のダウンロード

Laravel Sail をダウンロードするために、以下を実行していきます。

ホームディレクトリに移動

¥ cd
# /Users/{ユーザー名}

任意のディレクトリ名を作成

¥ mkdir docker_laravel

作成したディレクトリに移動

¥ cd docker_laravel

Laravel Sail のダウンロード

¥ curl -s https://laravel.build/sample | bash
# curl -s https://laravel.build/{ディレクトリ名} | bash 
Status: Downloaded newer image for laravelsail/php81-composer:latest
・・・ // 色々とインストールされます

インストールが完了されるとパスワードを求められるので入力します。
入力後、以下が表示され

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.

Password:{パスワードの入力}

Thank you! We hope you build something incredible. Dive in with: cd sample && ./vendor/bin/sail up

作成されたディレクトリに移動

¥ cd sample

ディレクトリの内容を確認

¥ ls
app
artisan
bootstrap
composer.json
composer.lock
config
database/
docker-compose.yml
package.json
public
README.md
resources/
routes/
server.php
storage/
tests/
vendor/
webpack.mix.js

上記のディレクトリ・ファイルが作成されています。
※表示順は少し変更しています。

これでダウンロードは完了です。

3.Laravel welcomページの表示

ダウンロードが完了したので、Laravel Sail を起動します。
インストールに時間が掛かるので数分待ちます。

起動コマンドの実行

¥ cd sample
¥ ./vendor/bin/sail up -d
[+] Running 0/6
 ⠹ meilisearch Pulling                                                                              3.2s
[+] Running 0/36ing                                                                                 3.2s
 ⠸ meilisearch Pulling                                                                              3.3s
   ⠋ a0d0a0d46f8b Waiting                                                                           0.0s
   ⠋ 00a069bb4647 Waiting                                                                           0.0s
   ⠋ 3ac4468f896e Waiting                                                                           0.0s
・・・ // 色々とインストールされます
 ⠿ Network sample_sail              Created
 ⠿ Volume "sample_sailmysql"        Created
 ⠿ Volume "sample_sailredis"        Created
 ⠿ Volume "sample_sailmeilisearch"  Created
 ⠿ Container sample_mysql_1         Started
 ⠿ Container sample_redis_1         Started
 ⠿ Container sample_selenium_1      Started
 ⠿ Container sample_mailhog_1       Started
 ⠿ Container sample_meilisearch_1   Started
 ⠿ Container sample_laravel.test_1  Started

起動が正常に成功したら、任意のブラウザで以下にアクセスします。
GoogleChrome を使用して行います。

http://localhost/

Laravel の Welcom ページが表示されたら完了です。

f:id:igarashi44:20220110015437p:plain

4.Sail コマンド

Sail コマンドは良く使用することになるので、エイリアス登録をして使いやすくしておきます。

エイリアス登録

¥ alias sail="./vendor/bin/sail"

登録することによって、以下の通り実行することができます。

# 実行
¥ sail up

# 実行 (バッググランドで実行)
¥ sail up -u

# 終了
¥ sail down

# 実行中のコンテナへ接続
¥ sail shell

# 実行中のコンテナの表示
¥ sail ps

# MySQL接続
¥ sail mysql

上記は良く使用するので、覚えておきましょう。

5.さいごに

これでDockerでのLaravelの環境構築は完了です!
Docker に慣れていない方やサクッと環境構築を完了させたい場合は、おすすめです!