超速でつくったAPIサーバをDocker化する(Express編)





前回の記事で、node.jsでAPIサーバを作りました。

今回はこれをdocker環境で動かすようにしてみます。

1. Dockerfile作成

Dockerfileは以下のようにシンプルに書けます。

FROM node #ベースイメージnodeを使用

# ワーキングディレクトリを移動
WORKDIR /root/

#カレントディレクトリのpackage.json,package-lock.json,app.jsをコンテナの/root/以下に配置する
COPY package-lock.json . 
COPY package.json .
COPY app.js .

RUN npm install

EXPOSE 3300

CMD node app.js #express起動

2. ビルド

Dockerイメージをビルドします。

docker build . -t api-node

3. 起動

作成したイメージを起動します。

docker run -d -p 3300:3300 api-node

4.ブラウザ(ホスト)からアクセス

localhost:3300にアクセスしてみましょう。

json文字列が返ってくれば成功です。

Sinatraでも動かそうとしてみましたが、どうも0.0.0.0がバインドできていないのか、似たようなDockerfileだと動かずハマってます(´・ω・`)

なので、当記事では一旦expressで動かしてみた報告にとどめ、Sinatraで動かすパターンはまた他の記事でチャレンジしてみようと思います。


【PR】 Ruby on Railsを学んで自社開発エンジニアになりたいなら