🐳distroless の nodejs コンテナに npm を用意するサンプル2022/05/19に公開DockerNode.jsnpmtechdistrolessには、Node.js向けのコンテナイメージがあります。 そのコンテナイメージにはnodeしか存在しないため、ビルド時にnpmを使えるようにします。[1] Dockerfile 解説 distrolessにはシェルは存在しないため、BusyBoxをシェルとして導入します。[2] npm自体が/usr/bin/envに依存する部分が多いため、シンボリックリンクを張ります。 $PATHにnodeを含めるため、シンボリックリンクを張ります。 npm本体はnpmjs.comから取得します。 $PATHにnpmを含めるため、シンボリックリンクを張ります。 脚注 デプロイ用のイメージにnpmを含めないでください、基本的には不要です。 ↩︎ distrolessのdebugタグを使用する手もありますが、nodejs系ではビルドコストが増大します。 ↩︎ Discussion
Discussion