本稿では Nx を使ったAngular+Nest.jsのmonorepoアプリケーションを単一のDockerイメージとしてデプロイ可能にする手順を記す。 サンプルコードの最終的な状態は以下のリポジトリに公開している。 https://github.com/lacolaco/nx-angular-nest-docker-example 0. 背景一般的にはSingle Page Applicationのクライアントとサーバーは別のコンテナとしてデプロイされNginxなどで静的ファイルへのリクエストとAPIリクエストを振り分けることが多いが、今回はあえて単一のDockerコンテナでHTTPサーバーを立ち上げ、そのサーバーから静的ファイルとしてクライアントをサーブする。 なぜかというと、今回はGoogle Cloud Runにアプリケーションをデプロイすることが目的だからだ。Cloud Runに
![Nx: Angular+Nest.jsアプリをDockerビルドする | Marginalia](https://cdn-ak-scissors.b.st-hatena.com/image/square/c7366e3d415115918b269798bb2b8b323305cef1/height=288;version=1;width=512/https%3A%2F%2Fblog.lacolaco.net%2Fog%2Fnx-dockerize-angular-nest-app.png)