如何编写一个自定义的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的,当然,但你可能会明白。