我的项目使用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
答案 0 :(得分:1)
您必须使用任何一个映像并将其他应用程序安装到该映像中。因此,您的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。