Docker PHP图像助手并构build依赖关系
这个指令来自于官方的docker php镜像的描述:
RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install -j$(nproc) iconv mcrypt \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd
我有两个问题:
- 什么是带有
-dev
后缀的软件包? 我怎么知道我需要他们,特别是哪些? - 什么是
-j$(nproc)
?
-
带有
-dev
后缀的软件包是不同库的开发文件。 这些可能需要build立一个或多个PHP扩展。 例如,Googleing for libjpeg62-turbo-dev显示它是“libjpeg-turbo库的开发文件”。 PHP将使用它的一些image processing函数库: http : //php.net/manual/en/image.installation.php 。 你应该保留他们,如果你想要的function,要求他们正常工作。 除非你真的想为小尺寸或者其他东西进行优化,否则我会把它们全部留下。 -
-j$(nproc)
要求它根据可用处理器的数量并行安装扩展。
-dev
表示该软件包包含headers
和libraries
,您可以使用它们链接,然后在另一个应用程序或库中进行编译,在这种情况下,它将使用mcrypt
和gd
使用freetype
, jpeg62-turbo
和png12
作为iconv
。
-j$(nproc)
命令让安装程序知道在构build周期中有多less处理器可用。