Laravelを調べる: Docker起動編
2021/05/09 : ただいま編集中です!
環境
Name | Version |
---|---|
OS | macOS Catalina (ver 10.15.7) |
docker desktop | version 3.2.2 |
準備
Docker Desktopがインストールされていれば、以下のコマンドで使い始めることが可能。(簡単!)
# mysql、pgsql、mariadb、redis、memcached、meilisearch、selenium、mailhog
# default : mysql、redis、meilisearch、mailhog、selenium
$ curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
$ cd example-app
$ ./vendor/bin/sail up
sailコマンドでの実行/停止
実行
# フォアグラウンドで実行
$ ./vendor/bin/sail up
#
# バックグラウンドで実行
$ ./vendor/bin/sail up -d
停止
$ ./vendor/bin/sail down
動作確認
./vendor/bin/sail up
を実行した状態で http://localhost/ にアクセスするとLaravelのページが表示される。
展開されたファイル
mysql等の設定は./.env
に含まれている。
./.env
$ cat .env
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:+...
APP_DEBUG=true
APP_URL=http://example-app.test
LOG_CHANNEL=stack
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=example_app
DB_USERNAME=sail
DB_PASSWORD=password
.
.
.
展開されたファイルのうち、頻繁に使うと思われるディレクトリ (app, config, database, routes) の内容をリストアップしておく。
すでに app/Models/User.php と 2014_10_12_000000_create_users_table.php がある点に注意。
このままmidgrateするとデフォルトの状態でUserテーブルが作られる。
% tree app
app
├── Console
│ └── Kernel.php
├── Exceptions
│ └── Handler.php
├── Http
│ ├── Controllers
│ │ └── Controller.php
│ ├── Kernel.php
│ └── Middleware
│ ├── Authenticate.php
│ ├── EncryptCookies.php
│ ├── PreventRequestsDuringMaintenance.php
│ ├── RedirectIfAuthenticated.php
│ ├── TrimStrings.php
│ ├── TrustHosts.php
│ ├── TrustProxies.php
│ └── VerifyCsrfToken.php
├── Models
│ └── User.php
└── Providers
├── AppServiceProvider.php
├── AuthServiceProvider.php
├── BroadcastServiceProvider.php
├── EventServiceProvider.php
└── RouteServiceProvider.php
% tree config
config
├── app.php
├── auth.php
├── broadcasting.php
├── cache.php
├── cors.php
├── database.php
├── filesystems.php
├── hashing.php
├── logging.php
├── mail.php
├── queue.php
├── services.php
├── session.php
└── view.php
% tree database
database
├── factories
│ └── UserFactory.php
├── migrations
│ ├── 2014_10_12_000000_create_users_table.php
│ ├── 2014_10_12_100000_create_password_resets_table.php
│ └── 2019_08_19_000000_create_failed_jobs_table.php
└── seeders
└── DatabaseSeeder.php
% tree routes
routes
├── api.php
├── channels.php
├── console.php
└── web.php
起動してからsailコマンドでできること
シェルを起動
$ ./vendor/bin/sail shell
mysqlにログイン
$ ./vendor/bin/sail mysql