我的项目是用 Node.js 编写的,它运行一个需要构建的 Python 文件。以前,从 GitHub 拉取时,我使用脚本来设置项目。我想改用 Docker,但在运行多个 FROM 时遇到问题。我的理解是 FROM 创建了一个新图像,因此我的项目构建失败了。有什么解决办法?
原始 Shell 脚本
yarn
git clone https://github.com/<directory>
mv <directory> <new_name>
cd <directory>
virtualenv venv
source venv/bin/activate
pip3 install -r requirements.txt
尝试的 Dockerfile
FROM python:3.6
RUN mkdir -p /usr/src/app
COPY . /usr/src/app/
WORKDIR /usr/src/app
RUN git clone https://github.com/<directory>
RUN mv /usr/src/app/<directory> /usr/src/app/<new_name>
RUN pip3 install -r <new_name>/requirements.txt
FROM node:11
WORKDIR /usr/src/app
RUN npm install --production
EXPOSE 3000
ENTRYPOINT npm start
请您参考如下方法:
您必须使用任何一个图像并将其他应用程序安装到该图像中。所以你的 dockerfile 可能看起来像:
FROM node:11
RUN mkdir -p /usr/src/app
COPY . /usr/src/app/
WORKDIR /usr/src/app
RUN git clone https://github.com/<directory>
RUN mv /usr/src/app/<directory> /usr/src/app/<new_name>
RUN Command to install python 3.6 and pip3
RUN pip3 install -r <new_name>/requirements.txt
WORKDIR /usr/src/app
RUN npm install --production
EXPOSE 3000
ENTRYPOINT npm start
可以引用这个sample dockefile .
