現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。
特にlaravelのインストールなどに向いていますが、laravelでなくとも使えるかと思います。
インストール手順
*Laravelのインストールが前提になります。
1 2 3 |
cd ララベルのアプリのカレントディレクトリ composer require shipping-docker/vessel php artisan vendor:publish --provider="Vessel\VesselServiceProvider" |
この状態ですでにvesselがインストールされています。
設定ファイル作成+起動
1 |
./vessel init |
このコマンドで具体的にはdockerのイメージファイル、docker-composeの設定ファイルやvesselなどが作成されます。
あとは下記コマンドで起動、終了が簡単にできます。
1 2 3 4 5 |
#起動 ./vessel start (docker-composer up -dとほぼ同じコマンドです。) ./vessel stop (docker-composer downとほぼ同じコマンドです。) |
その他&気づいたこと
1 2 |
#nodeのコンテナを利用したインストールなど ./vessel npm install |
Dockerですが、自分は小さいサーバーを複数立てるようなイメージだったのですが、正しくはプロセスのようですね。
だから自分は以前はアプリとDBぐらいは分けてましたが、それ以外は基本的にアプリでいいのでは?と思っていました。
というかアプリとnode分けたら、サーバーが別だと思っていたのでどうやってnpmのライブラリをインストールする?と思っていたんですが、プロセスと考えれば当然別々にすべきですね。
vesselで便利なところはlaravelの最小構成でもアプリ、node、DB、redisなどは分けてあります。
メリットとしてはこのように分けると組み合わせが楽なのと各コンテナが軽量になります。
アプリとnodeで同期場所が同じであれば普通にlaravelのnpmのインストールはできます。
しかもvesselの場合はコンテナのなかに入らなくてもvesselを仲介して、コマンドを打つことができます。上記のような ./vessel npm install と打てば自動的にnodeのコンテナをみに行って、実行してくれるわけです。これがすごく便利ですね。
しかもnpmのコンテナが起動してなくても大丈夫です。(これはちょっと不思議・・)
その他の詳しいコマンドは下記などに書かれています。
https://vessel.shippingdocker.com/docs/everyday-usage/