FileMaker以外にWordPress、node.jsなど興味あることを発信するページ!

FileMakerマニアが語るプログラミング雑学

docker node.js

docker-composeでnode.js、MySQLの環境構築(1)

投稿日:2021年2月19日 更新日:

docker-composeでnodeとMySQLの環境構築に苦労したので備忘録として記事にします。

miku-nosuke

この記事を読むことでdocker-composeをつかってnodeとMySQLを起ち上げることが出来ます。
今回の記事では初期時のファイルの構成とファイルの内容がわかります。

前提条件

  • dockerを使ったことがある
  • Progateのnode.jsコース程度の知識がある
  • MySQLを知っている

フォルダとファイルの構成

先に準備するホルダー&ファイル、それからコードを載せます。
まずは、下図のようにフォルダとファイルを設置します。

docke-composeでnode.jsとMySQLを環境構築するときのディレクトリとファイルの初期配置図

Dockerfileを書く

参考にした記事にはDockerfileを用いずにdocker-composeからimageをpullする方法をとっていました。しかし、あとでdocker-composeをupしたところですぐにexitになってしまいました。他の記事でDockerfileを使った方法では上手くいきましたので、ここではDockerfileを使った方法で環境構築を行っていきます。

FROM node:12
WORKDIR /app

docker-compose.ymlを書く

version: '3'
services:
  app:
    # 起動するイメージを指定(ここではNode.js v12の公式イメージ)
    build: .
    # 環境変数を設定
    environment:
      - TZ=Asia/Tokyo
      - DEBUG=app:*
    tty: true
    # ホスト側のポート:コンテナのポート
    ports:
      - '3000:3000'
    restart: always
    # ソースコードを格納するフォルダをマウント
    #(ホスト側の./srcをコンテナの/appにマウント)
    volumes:
      - ./src:/app
    # 起動時のカレントフォルダを指定
    working_dir: /app
    # 起動後に実行するコマンドを指定
    command: npm start

正直これをゼロから書けと言われるとさっぱりです。書いてあることのだいたいの意味は分かりますが。特に分からないのが、
environmentのところのDEBUG=app:*
なんだこれ?DEBUGのなにかなんだろうが。

restart: always
どんなときに使うんだ?

working_dir
docker-composeで作業ディレクトリを指定する時はこのように書くとのこと。

package.jsonを書く

{
  "name": "app",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "ejs": "~2.6.1",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "morgan": "~1.9.1"
}

こちらもよくわかりません。最初は何も書かなくてもよいらしい。ただ、これを書かなかった場合、view用のファイルはejsではなくjなんとかになってしまいました。ここに明示することでファイルを指定できるようです。
 あとで、nodemonをinstallします。その後ここにnodemon用の項目を追加します。

参考記事

長くなったので今日はここまで。

Follow me!

-docker, node.js

執筆者:


comment

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

関連記事

docker-composeでnode.js、MySQLの環境構築(2)node.jsとMySQLを接続する

前回はdocker-composeを使ってdocker-compose.ymlファイルを記述しました。今回はこれにMySQLの記述をした後、実際に接続します。前回はdocker-compose.yml …

プロフィール

miku-nosuke

職業:web制作者
生息地:東京都
趣味:ジョギング、コーディング、ガーデニング

もの作り大好き!FileMakerは25年の経験で多くの業務システムを作成。html、cssなどフロントも大好き!
まったくの別業界から好きなことに没頭したい、好きなことを仕事にしたいと思いプログラミングを学習する。それまではノンコードデータベースソフトFileMakerに没頭する。はまりすぎてFileMaker選手権で受賞しFileMakerを中心に活動する。
どの言語を学ぶにもhtml、css を知らないと話にならないと気づく。html、css、WordPress、サーバー構築などを語ります。

50歳を過ぎてふと思ったんだ、自分のやりたい事って今の仕事だったのか?
そんな時にたまたま見た日本人3Dグラフィックデザイナーの成田さんを題材にした番組。彼は45歳でグラフィックデザイナーを志、ついにはStarWarsの制作を手がける。そんな彼の言葉「人生に失敗していたんだ。この年になってはじめて自分のやりたいことに気付き、やり直したい」に感銘を受ける。

PAGE TOP