Dockerのnprocがやっていること

Dockerfileを見ていると、以下のような記述を見かけることがあります。

  && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
  && docker-php-ext-install -j$(nproc) gd \
-j$(nproc)

のオプションですが、nprocコマンドはCPUコア数が返り、-jオプションは指定したCPUコア数で並列ビルドを行うための設定になるようです。これを入れておかないとGDでJpegがうまくつかえませんでした。また、configureとinstallはセットとして(GDに対してであればGDのconfigureを書いて次の行にGDのinstallを書くなど)、近くに書いたほうがいいようです。

参考

http://unskilled.site/docker%E3%81%AE%E5%85%AC%E5%BC%8Fphp%E3%81%AEdockerfile%E3%82%92%E9%A0%91%E5%BC%B5%E3%81%A3%E3%81%A6%E8%AA%AD%E3%82%93%E3%81%A7%E7%90%86%E8%A7%A3%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6/