18
8

More than 5 years have passed since last update.

dockerで簡単にNestJSの環境を作る

Last updated at Posted at 2019-09-12

Dockerで簡単にNestJSの環境構築をする

Table of Contents
  1. NestJSとは
  2. dockerで何も考えずに
  3. serverを立ち上げる

1.NestJSとは

NestJS - A progressive Node js web framework.png

NestJSとは、
効率的で信頼性ができスケールが可能なサーバー側アプリケーションを構築するための進歩的なNode.jsフレームワークである。
とある感じでExpress fastifyとおんなじ感じに認識でしたが、個人的に https://docs.nestjs.com/#philosophy にある一文が結構好きな一文でとりあえず遊ぼうかと思いました。

2.dockerで何も考えずに

使うもの

  • docker
  • nest/cli (docker-imageがあるので利用します)

完成後のディレクトリ構成

project-path
    |- docker-compose.yml
    |- Dockerfile
    |- ...nest_modules

2-1. docker-compose.yml と Dockerfileの作成

Dockerfileの中身

FROM nestjs/cli
WORKDIR /myapp

docker-compose.ymlファイルの作成

docker-compose.yml
version: "3.7"
services:
  api:
    build: .
    tty: true
    ports:
      - "3000:3000"
    volumes:
      - type: bind
        source: .
        target: /myapp

3. nestのプロジェクトを作成する

流れとしては、docker containerに入りcliを利用しプロジェクトを作成。
依存しているパッケージをインストールする感じです。

docker containerに入る

$ docker exec -it {{ CONTAINER NAME }} sh
$ pwd
/myapp

nest projectを作成する

$ nest new .

上記でプロジェクトの作成はできるのですが、serverを立ち上げるとエラー吐くのでかるく修正。

(旧)package.json
{
  "name": ".",
  "version": "0.0.1",
  "description": "",
  ...
}

上記のnameを好きな名前に書き換える。

package.json
{
  "name": "sample", # ここを書き換える
  "version": "0.0.1",
  "description": "",
  ...
}

依存packageをインストール。

$ npm install

で準備完了。

4. serverを立ち上げる

流れとしては、docker containerに入り dev serverを立ち上げる感じにします。

docker containerに入る

$ docker exec -it {{ CONTAINER NAME }} sh
$ npm run start

であとは、ブラウザから http://localhost:3000 で質素な画面が表示されます。

localhost 3000.png

一応こんな感じ

18
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
8