Что означает docker’s-j$(nproc)?

#php #docker

Вопрос:

В файле шаблона docker за некоторыми командами должно следовать-j$(nproc). Что это значит?

Например: когда php устанавливает библиотеку gd: docker-php-ext-install -j$(nproc) gd

Ответ №1:

Здесь нет «обязательно» -j , необязательно создавать nproc [это команда для возврата количества процессоров] задания параллельной сборки для компиляции расширений. Он просто передается через make -j опцию ‘s:

    -j [jobs], --jobs[=jobs]
        Specifies the number of jobs (commands) to run simultaneously.  If there is more than one -j option,
        the  last  one is effective.  If the -j option is given without an argument, make will not limit the
        number of jobs that can run simultaneously.
 

На самом деле docker-php-ext-установка-это просто немного размахивания руками вокруг make: https://github.com/docker-library/php/blob/master/docker-php-ext-install

TLDR: -j$(nproc) сделайте сборку быстрой.