A_holiday_programmer
@A_holiday_programmer

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

dockerでnginxとnode.jsを別々のコンテナにして、node.jsのプログラムを動かす方法を知りたい。

解決したいこと

dockerでnginxとnode.jsを別々のコンテナにして、node.jsのプログラムを動かす方法を知りたい。
nginxとnode.jsを一つずつのコンテナに入れて、node.jsのウェブサービスプログラムを起動し、HTTP/Sリクエストに応答できるやり方を教えてほしい。

発生している問題・エラー

ネット検索で出てくる情報がnginxとnode.jsを一つのコンテナに入れて、
ウェブサービスを実現しているものばかりである。
1サービス1コンテナで運用したい(どっちかがバージョンアップしたら、他のサービスを考慮せずにバージョンアップしたい)ため、本質問をさせて頂いています。

該当するソースコード

docker

0

2Answer

流れとしては

  1. nginx単体のコンテナを作ってみる
  2. nginx自体のでデフォルトページが見れるか確かめる
  3. node.js単体のコンテナを作ってみる
  4. node.js自体のでデフォルトページが見れるか確かめる(expressとかhttpとかで)
  5. docker-composeを使ってみて複数のサービスをまとめて立ち上げて、独立したネットワーク上で動作させるようにしてみる(デフォルトでそう)
  6. docker-composeを使って、nginxのポートを開いてみる
  7. nginxのリバースプロキシでnode.jsのサーバーへ転送させてnode.js側のページが表示されるか確認してみる
1Like

Dockerのネットワークは敷居がかなり高いです。

先ずはnode.jsのコンテナの -p 80:80 ではなく --host や --net hostや --net=host パラメタでホスト側のnic ipをコンテナ内で共有しては?

nginx についてはホスト側での運用を推奨します。

0Like

Your answer might help someone💌