Dockerfile - 通过使用 COPY --from

问题描述 投票:0回答:2

我可以使用 PHP 和 Composer 创建一个 docker 容器:

FROM php:fpm
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

是否有任何等效的方法可以为 Node.js 和 npm 归档相同的内容?到目前为止我想到的唯一解决方案是:

如果我使用最后一种方法,当我复制所有内容时,容器的大小会变得臃肿(大约 908 MB)。所以我想知道是否有更聪明的方法。我必须复制哪些文件夹/文件才能实现节点和 npm 功能?

node.js npm dockerfile
2个回答
3
投票

要使 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

1
投票

我用过这个:

COPY --from=node:18.16.0-slim /usr/local /usr/local

它使我的 Docker 映像的大小增加了约 240MB,AFAICT。

© www.soinside.com 2019 - 2024. All rights reserved.