Edited at

VesselでLaravelのDocker環境をサクッと作る


What is Vessel?

Vessel は、DockerでLaravelの開発環境を簡単に作るためのツールで、Laravel開発に必要な最低限のものが付いてきます。


  • PHP7.2

  • Nginx

  • MySQL

  • Redis

  • Node.js

  • Yarn

Laravelの作者であるTaylor Otwellも開発環境で使っているそうです。

How I Work (October 2018 Edition)


If I need to run a project within Docker (typically when using Windows), I like to use Vessel.



Getting Started

Laravelプロジェクトで以下の手順を実行するだけで、Docker環境のセットアップが完了します。

composer require shipping-docker/vessel

php artisan vendor:publish --provider="Vessel\VesselServiceProvider"

Dockerfiledocker-compose.yml がルートディレクトリにコピーされる

→ ファイルの中身はこんな感じ

https://github.com/shipping-docker/vessel/tree/master/docker-files

bash vessel init

predis/predis がインストールされたり .env が作られる

That's it!


Start docker containers

Vesselで作った環境でDockerコンテナを起動したりするためには、vessel コマンドを使います。

./vessel start

docker-compose up -d と同じ

→ 初回は docker pull でイメージをダウンロードするので時間がかかる

ブラウザでhttp://localhostにアクセスしてちゃんとページが表示されれば成功です。

普通の docker コマンドや docker-compose コマンドも使えますが、 vessel コマンドはそれらをラップしています。

通常の docker コマンドの使い方を理解した上で使うことをオススメします。

vessel コマンドはただのシェルスクリプトなので、 ソースコード を読めば何をやっているのかすぐ分かると思います。


Available Commands

上記の他にも、vesselで使えるコマンドはたくさんあるので、詳しくは公式ドキュメントを読んでみてください。

https://vessel.shippingdocker.com/docs/everyday-usage/