如何为自定义python项目编写dockerfile?

svujldwt  于 2021-06-21  发布在  Mesos
关注(0)|答案(2)|浏览(319)

我是docker的新手,需要创建容器以将docker容器作为ApacheMesos任务运行。
问题是我找不到任何相关的例子。它们都围绕着web开发,这不是我的情况。
我有一个纯python项目,有大量依赖项(比如berkeley caffe或opencv)。如何编写docker文件以正确注册所有依赖项(以及如何找到它们?)

x8diyxa7

x8diyxa71#

docker官方网站上有一些分步和参考文档。
然而,为了让你开始:如果你要在一台新机器上安装和启动你的项目,想想你会怎么做可能会有帮助。你可能会这样做。。。

apt-get update
apt-get install -y python python-opencv wget ...

# copy your app into /myapp/

python /myapp/myscript.py

这或多或少是一对一地Map到

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"]

当然,以上这些都是未经检验的,但你可能已经明白了。

3mpgtkmj

3mpgtkmj2#

docker hub注册表包含许多官方语言图像,您可以将其用作基础图像。
https://hub.docker.com/_/python/
这些说明告诉您如何构建python项目,包括导入依赖项。

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

image同时支持python 2和3,您可以在dockerfile中指定:

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

基础图像使用特殊的onbuild指令为您完成所有的辛苦工作。

相关问题