我可以使用 PHP 和 Composer 创建一个 docker 容器:
FROM php:fpm
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
是否有任何等效的方法可以为 Node.js 和 npm 归档相同的内容?到目前为止我想到的唯一解决方案是:
如果我使用最后一种方法,当我复制所有内容时,容器的大小会变得臃肿(大约 908 MB)。所以我想知道是否有更聪明的方法。我必须复制哪些文件夹/文件才能实现节点和 npm 功能?
要使 Node 和 npm 正常工作,您必须在 Dockerfile 中复制两个目录:
# Get NodeJS
COPY --from=node:20-slim /usr/local/bin /usr/local/bin
# Get npm
COPY --from=node:20-slim /usr/local/lib/node_modules /usr/local/lib/node_modules
我用过这个:
COPY --from=node:18.16.0-slim /usr/local /usr/local
它使我的 Docker 映像的大小增加了约 240MB,AFAICT。