如何编写一个自定义的Python项目的Dockerfile?

我对Docker来说很新,我需要创build容器来运行Docker容器作为Apache Mesos任务。

问题是我找不到任何相关的例子。 他们都以Web开发为中心,这不是我的情况。

我有一个纯粹的Python项目,具有大量的依赖关系(如Berkeley Caffe或OpenCV)。 如何编写一个Docker文件来正确注册所有的依赖关系(以及如何find它们?)

docker中心registry包含许多官方语言图像,您可以将其用作基本图像。

这些指令告诉你如何构build你的python项目,包括依赖项的input。

├── Dockerfile <-- Docker build file ├── requirements.txt <-- List of pip dependencies └── your-daemon-or-script.py <-- Python script to run 

Image支持Python 2和Python 3,您可以在Dockerfile中指定:

 FROM python:3-onbuild CMD [ "python", "./your-daemon-or-script.py" ] 

基础图像使用特殊的ONBUILD指令来完成所有的工作。

官方的Docker网站有一些分步和参考文档。

但是,为了让你开始:如果你要在新的机器上安装并启动你的项目,可能会有帮助的是想想你会做什么。 你可能会做这样的事情…

 apt-get update apt-get install -y python python-opencv wget ... # copy your app into /myapp/ python /myapp/myscript.py 

这或多或less地一对一映射到

 FROM ubuntu:14.04 MAINTAINER Vast Academician <vast@example.com> RUN apt-get update && apt-get install -y python python-opencv wget ... COPY /path/on/host/to/myapp /myapp CMD ["python", "/myapp/myscript.py"] 

以上是未经testing的,当然,但你可能会明白。