Docker python和NodeJ在同一容器中的多级构建

Docker python和NodeJ在同一容器中的多级构建,docker,docker-multi-stage-build,Docker,Docker Multi Stage Build,我需要在同一个容器中访问npm和pipenv。我认为实现这一点的最好方法是采用多阶段构建 如果我这样做: FROM python:3.7 COPY Pipfile /app/Pipfile RUN pip install pipenv FROM node:8 npm install 如何确保不会丢弃pipenv二进制文件?我需要从上一个阶段复制哪些文件才能在最终映像中使用pipenv?在您的情况下,不需要多阶段构建。从基本映像python:3.7开始,并在其中安装节点,这将是一个简单的解决方

我需要在同一个容器中访问
npm
pipenv
。我认为实现这一点的最好方法是采用多阶段构建

如果我这样做:

FROM python:3.7
COPY Pipfile /app/Pipfile
RUN pip install pipenv

FROM node:8
npm install

如何确保不会丢弃
pipenv
二进制文件?我需要从上一个阶段复制哪些文件才能在最终映像中使用pipenv?

在您的情况下,不需要多阶段构建。从基本映像
python:3.7
开始,并在其中安装节点,这将是一个简单的解决方案

FROM python:3.7
COPY Pipfile /app/Pipfile
RUN pip install pipenv

# Using Debian, as root
RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
RUN apt-get install -y nodejs
您如何知道图像
python:3.7
是debian? 参考:

节点安装说明
无需多阶段构建,从基本映像
python:3.7开始并在其中安装节点,将是简单的解决方案如何安装节点?我不想这样做:,太多的层@BMWimage'python:3.7'is
Debian-GNU/Linux
。请阅读以下内容:@BMW您如何知道python:3.7是debian?dockerfile说它是“stretch”()你怎么知道python:3.7是debian?dockerfile在我的回答中说它是“拉伸”()更新的,看一看非常有用。非常感谢。
$ docker run -ti --rm python:3.7 bash
root@eb654212ef67:/# cat /etc/*release
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@eb654212ef67:/#
Node.js v11.x:

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs
Node.js v10.x:

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs
Node.js v8.x:

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs