所以,我有一个python应用程序,如下所示
Dockerfile
FROM python:2.7
COPY . /app
# Install any needed packages specified in requirements.txt
RUN (pip install /app/requirements.txt)
CMD ["/app/run_my_app.py"]
然后,我会将其构建为myapp
docker build -t myapp .
并且
运行良好docker run myapp
现在我想创建后续图像,在不同的操作系统中运行上面的python app容器。例如,它可能是centos,ubuntu等。
Dockerfile
FROM myapp as myapp
CMD ["bash"]
FROM ubuntu # this could be centos, etc
COPY --from=myapp /app /app
CMD [/app/run_my_app.py]
我用
构建它docker build -t ubuntuapp .
当我做的时候
docker run ubuntuapp
它失败了,因为在ubuntu下没有安装python。我如何打包python和我的python应用程序,以便当它复制/应用程序时它可以运行它?
一种方法可能是将python安装到自定义目录即/ app / python中,并使用/ app/run_my_app.py shebang和/ app / python / bin / python
我怎么能实现这个目标?