#6784

トンネルの先へ


web制作

水面下で少しずつ進めている、とあるサイトの環境構築。
春ごろからチャレンジしては挫折をひたすら繰り返してきたのですが、
今日ついに「データベースからAPI」「APIからフロントエンド」の疎通を確認できました。
まだ試していませんが、たぶんデータベースからフロントエンドもできているはずです。
これはDockerという仮想化アプリを使って、
データベースとバックエンド(API)とフロントエンドを別々のネットワークに切り分けて、
それぞれを必要なポートだけ開けてデータの通信を可能にするという作業なのですが、
どのコンテナから見た通信相手がどのようなアドレスなのかがさっぱりわからず、
最初は手探り状態で試行錯誤していました。

まだどれがどうなっているのかを言葉で説明するにはスキル不足なのですが、
おそらく鍵は各コンテナ内部で起動するアプリケーションを「localhost」で立てないことです。
そうではなく、ポートを「0.0.0.0」で指定するのが良いっぽい。
たぶんlocalhost(127.0.0.1)だとクライアントそのものを指すことになるんでしょうかね?
ただ、各コンテナの実体はlocalhostでも0.0.0.0でもなく固有に割り当てられていて、
それはユーザーが指定したコンテナ名で指定することでDockerが自動置換する仕組みです。
とにかくネットワーク関係は難しい……。

当初はQiitaに転がっている先人たちのノウハウを拾えば楽勝だろうと思っていたのですが、
この手の環境構築マニュアルで読んだだけですんなり完成した試しがないんですよね。
今回も比較的信用できそうな記事を参考に進めていったのですが、
その通りにやっても動かず、エラー部分を細かく見て他サイト等も参考にして、
試行錯誤の末にようやく動いたという感じです。
なかなか前途多難なサイト作りになっていますが、ここにきてようやく一歩前進しました。

今日は23時就寝07時55分起床。朝は改札の謎エラーに足止めを喰らってなんやかんやで数分ロスし、
その影響で電車を1本逃してしまったこと以外は平常運転な一日でした。
明日を凌げば約3ヶ月ぶりの実家帰省ということで猫様に会うのがいまから楽しみです。

コメントを残す