Docker で Node.js 環境を構築する

Docker Node.js 環境

Docker で Node.js 用の開発環境を構築してみます。
今回は docker-compose を使用します。

環境

  • Node.js
  • NPM
  • MySQL5.7

下記の構成としています。

docker-compose.yml 作成

今回は node12 のイメージをそのまま使用します。

コンテナ起動

Express 雛形作成

express-generator をインストールして、実行するか、npx を使用して実行することができます。

express-generator をインストールする場合

  • Express の雛形作成用に express-generator をインストールします。

  • Express 実行
    Jade は Pug に改名されたことから pug 指定が推奨されています。

    下記が作成されます。

  • API での使用など view が不要な場合は --no-view 指定で express を実行します。

    下記が作成されます。

npx を使用する場合

  • npx を使用することで express-generator をグローバルにインストールしなくても生成できます。

package.json ファイルの確認

express-generator で生成された package.json ファイルを確認します。

依存関係のインストール

core-js 3 未満は非推奨のため core-js 3 にアップグレードします。

バージョン確認

v12.18.2

6.14.5

Node.js の稼働

起動コマンドを docker-composer に追加

起動時に npm install と npm start を実行するコマンドを追加してみます。

DB を docker-compose.yml に追加

DB 接続

Sequelize で接続します。

インストールから設定、操作については下記を参照ください。
http://vistylee.com/sequelize/

CORSを許可する場合

app.js に下記を追加します。

エラーハンドリングを行う場合

app.js に下記を追加します。

まとめ

起動時に npm install と nmp start を行うようにする場合は docker-compose.yml に command を追加して行っています。今回は、Dockerfile を作成しないので、docker-compose.yml に記載しました。
Docker Compose を使わない場合は、Node.js Web アプリケーションを Docker 化する で簡潔にまとめられています。

参考リンク

Node.js Web アプリケーションを Docker 化する
Node.js ウェブ・アプリの Docker 化
Express application generator
Dockerfile のベストプラクティス
Dockerfile リファレンス
Docker Compose
Express でのテンプレート・エンジンの使用

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA