Node.jsとDockerの連携方法

2024/07/20
x-logoline-logo

Node.jsとDockerの連携方法

2024/07/20
x-logoline-logo
PR

近年、Node.jsを使ったアプリケーションの開発が盛んになっています。一方で、Dockerはアプリケーションを簡単にコンテナ化して、どこでも動かせるようにする素晴らしいツールです。今回は、Node.jsとDockerを一緒に使う方法を説明します。

Node.jsとは?

Node.jsは、JavaScriptをサーバーサイドで動かすための環境です。これにより、フロントエンドとバックエンドの両方でJavaScriptを使うことができ、開発がスムーズになります。

Dockerとは?

Dockerは、アプリケーションをコンテナと呼ばれる環境にパッケージ化する技術です。コンテナは、必要なすべてのソフトウェアと設定を持っているため、異なる環境でも同じように動作します。

Node.jsとDockerの連携のメリット

移植性が高い

Dockerを使うことで、Node.jsアプリケーションをどんな環境でも簡単に動かすことができます。これにより、開発したアプリを友達やチームメンバーと共有するのがとても楽になります。

開発環境の統一

Dockerを使うと、誰もが同じ開発環境を持つことができるため、環境の違いによるトラブルが減ります。これにより、開発がスムーズに進みます。

Node.jsアプリケーションの作成

まずは、Node.jsアプリケーションを簡単に作成してみましょう。

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Dockerfileの作成

次に、このNode.jsアプリケーションをDockerで動かすための設定ファイル「Dockerfile」を作成します。

# 使用するイメージを指定
FROM node:14

# 作業ディレクトリを指定
WORKDIR /usr/src/app

# package.jsonをコピー
COPY package*.json ./

# 依存関係をインストール
RUN npm install

# アプリケーションのソースコードをコピー
COPY . .

# アプリケーションを起動
CMD ["node", "app.js"]

# 3000番ポートを開放
EXPOSE 3000

Dockerイメージのビルドと実行

それでは、Dockerイメージをビルドして実行してみましょう。以下のコマンドを実行します。

# イメージのビルド
docker build -t my-node-app .

# コンテナの実行
docker run -p 3000:3000 my-node-app

これで、http://localhost:3000 にアクセスすると、「Hello World」と表示されるはずです。

まとめ

Node.jsとDockerを組み合わせることで、開発環境を統一し、簡単にアプリケーションを配布できるようになります。今回の内容を参考にして、自分だけのNode.jsアプリをDockerで試してみてください!

この記事はAIを使用して作成されています。
PR