DockerでNESTJSを実行することは、Kool


わずか3簡単な手順では、使用することができますKool ローカルDocker開発環境で実行している新しいNESTJSアプリケーションを開始するには.

Kool is a free, open source CLI tool that makes local development with Docker super easy. Kool CLI will level up your development workflow, and help you and your team improve the way you develop and deploy cloud native applications.



要件
あなたがそうしなかったならば、あなたは最初に必要ですinstall Docker and the Kool CLI .
あなたが既に持っているならばkool インストールされている場合は、最新バージョンを実行していることを確認します.
$ kool self-update

ステップ1 -新しいNESTJSアプリケーションを作成する
使用する kool create command 新しいNESTJSプロジェクトを作成するには.
$ kool create nestjs my-project
フードの下で、このコマンドは実行されますnest new my-project カスタマイズされたクールDockerイメージを使用してNESTJSをインストールするには、次の手順に従います.kooldev/node:14-nest .

Learn more about Kool Docker Images in our article .


nestjsのインストール後kool create 自動的に実行する kool preset nestjs command , これは、インタラクティブなウィザードを使用してプロジェクトの初期の技術スタックを設定するのに役立ちます.
$ Preset nestjs is initializing!

? Which database service do you want to use [Use arrows to move, type to filter]
> MySQL 8.0
  MySQL 5.7
  PostgreSQL 13.0
  none

? Which cache service do you want to use [Use arrows to move, type to filter]
> Redis 6.0
  Memcached 1.6
  none

? Which package manager did you choose during Nest setup [Use arrows to move, type to filter]
> npm
  yarn

$ Preset nestjs initialized!
さて、あなたの新しいNESTJSプロジェクトに移動します.
$ cd my-project
The kool preset コマンドの自動は、次の設定ファイルを生成し、簡単に変更することができますし、ニーズに合わせて拡張するプロジェクトにそれらを追加しました.
+docker-compose.yml
+kool.yml

ステップ2 (オプション)-環境変数を追加する

You can skip this step if you did not add a database or cache service to your project via the wizard.


データベースおよび/またはキャッシュサービスを追加する場合は、いくつかのローカル環境変数を追加する必要があります.YMLファイル(下記参照).たとえば、localhostからホストを適切なサービスコンテナー名に変更する必要があります.
クリエイト.プロジェクトのルートディレクトリ内のenvファイルを指定し、プロジェクトで使用するサービスに基づいて適切な環境変数を次のファイルに追加します.

Learn more about how to configure NestJS.



データベースサービス
MySQL 5.7および8.0
+DB_CONNECTION=mysql
+DB_HOST=database
+DB_DATABASE=<some_database_name>
+DB_USERNAME=<some_username>
+DB_PASSWORD=<some_password>
PostgreSQL 13.0
+DB_CONNECTION=pgsql
+DB_HOST=database
+DB_PORT=5432
+DB_DATABASE=<some_database_name>
+DB_USERNAME=<some_username>
+DB_PASSWORD=<some_password>

キャッシュサービス
レッドシス
+REDIS_HOST=cache
+REDIS_PORT=6379
memcachedする
+MEMCACHED_HOST=cache
+MEMCACHED_PORT=11211

ステップ3 -ローカル環境を起動する
今、あなたのローカル環境を初めて使用してスピンsetup あなたのクールなスクリプト.YMLファイル:
$ kool run setup

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.1 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

audited 879 packages in 32.143s

78 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

Creating network "my-project_kool_local" with the default driver
Creating volume "my-project_database" with default driver
Creating volume "my-project_cache" with default driver
Creating my-project_database_1 ... done
Creating my-project_app_1      ... done
Creating my-project_cache_1    ... done
それだ!
一度kool run setup 終了すると、あなたの新しいNESTJSアプリにアクセスできますhttp://localhost:3000 そして、NESTJS「こんにちは世界」を見てくださいようこそページ.

ワークフローのレベル
今すぐあなたの新しいNESTJSアプリを実行していると、あなたの開発のワークフローを平準化を開始するためにクールCLIを使用することができます.

スクリプトをクールに追加します.気象研
クールを考える.MYLは非常に使いやすいタスクヘルパーとして.カスタムシェルスクリプトを書く代わりに、独自のスクリプトを追加することができます.の下にscripts で、それらを実行します.kool run SCRIPT . 単一の行コマンドを追加できますkool run nest ), またはシーケンスで実行されるコマンドの一覧を追加します.kool run setup ). たとえば、スクリプトを追加してデータベース移行を実行したり、ローカル環境をリセットしたり、静的解析ツールを実行したりします.チームメイトや新しい開発者にとってどれくらい簡単になるか考えてみてください.
scripts:
  mysql: kool exec -e MYSQL_PWD=$DB_PASSWORD database mysql -u $DB_USERNAME $DB_DATABASE # or psql for PostgreSQL
  nest: kool exec app nest
  npm: kool exec app npm # or yarn
  npx: kool exec app npx

  setup:
    - kool docker kooldev/node:14 npm install # or yarn install
    - kool start

コマンドを実行する
実行中のサービスコンテナー内でコマンドを実行する必要がある場合は、 kool exec command . 以下の操作を実行して、あなたのapp コンテナ.
$ kool exec app node -v

v14.17.1

データベースへの接続
データベースサービスを追加すると、実行中に新しいSQLクライアントセッションを開始しますdatabase 実行するコンテナkool run mysql ( MySQL )あるいはkool run psql ( PostgreSQL ).これはmysql or psql あなたのクールなスクリプト.京大理

依存関係を追加する
あなたのプロジェクトが進化するにつれてpackage.json , 使用する kool restart command 再起動するapp コンテナを読み込み、新しいパッケージを読み込みます.
$ kool restart app

Stopping my-project_app_1 ... done
Going to remove my-project_app_1
Removing my-project_app_1 ... done
Creating my-project_app_1 ... done

ログを見る
ビューコンテナのログ kool logs command . ランkool logs すべての実行中のコンテナのログを表示するにはkool logs app サービスを指定し、app コンテナ.追加する-f オプションkool logs ログをたどるにはkool logs -f app ).

仕事を共有する
あなたのチームとローカルの変更をすばやく共有する必要があるときは、使用してください kool share command httpトンネルを介してインターネット上でローカル環境を共有する.独自のサブドメインを指定します--subdomain フラグ.
$ kool share --port=3000

Thank you for using expose.
Local-URL:     app:3000
Dashboard-URL: http://127.0.0.1:4040
Expose-URL:    https://eeskzijcbe.kool.live

Remaining time: 00:59:59
Remaining time: 00:59:58
Remaining time: 00:59:57

スイッチプロジェクト
Koolは、任意の言語やフレームワークをサポートしていますので、すべてのあなたの技術スタック間で作業を標準化することができます.それはあなたの新しいNESTJSアプリで作業を停止し、別のプロジェクトに切り替えるときは、簡単に実行することによってローカルDocker環境を変更することができますkool stop NESTJSプロジェクトでは、他のプロジェクトディレクトリに移動し、実行中kool start .
$ kool stop
$ cd ~/my-other-project
$ kool start
プリティクール、右?

If you like what we're doing, show your support for this new open source project by starring us on GitHub!



ダイビング

  • Read the docs for our NestJS Preset NestJSでKoolを使用することについて学ぶために.
  • チェックアウトKool Presets 他の人気のフレームワークです.

  • Go to kool.dev Koolオープンソースプロジェクトの詳細については.

  • kool-dev / kool
    ローカル開発からクラウドへ:開発ワークフローを簡単に.







    アバウトkoolクールは、地球に現代的なソフトウェア開発環境の複雑さをもたらすCLIツールです-これらの環境軽量、高速かつ再現性を作る.これは、複雑さとローカル環境のためのDockerとDockerの構成の学習曲線を削減し、クラウドにステージングと生産環境を展開するKubernetesを使用するための簡略化されたインターフェイスを提供しています.
    クールはあなたのローカル開発環境を取得し、簡単かつ迅速に実行しているので、素晴らしいアプリケーションを構築するより多くの時間があります.時が右の場合は、展開し、世界とあなたの仕事を共有するためにクールな雲を使用することができます!
    クールなソロ開発者とすべてのサイズのチームに適しています.それは、より専門的なDocker環境の上で制御の損失を保証していない間、Docker基本を処理して、すぐに開発のために容器を使用し始めます.
    Learn more at kool.dev .
    インストール
    要件:クールです.
    View on GitHub