我是docker的新手,需要创建容器以将docker容器作为ApacheMesos任务运行。问题是我找不到任何相关的例子。它们都围绕着web开发,这不是我的情况。我有一个纯python项目,有大量依赖项(比如berkeley caffe或opencv)。如何编写docker文件以正确注册所有依赖项(以及如何找到它们?)
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"]
当然,以上这些都是未经检验的,但你可能已经明白了。
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指令为您完成所有的辛苦工作。
2条答案
按热度按时间x8diyxa71#
docker官方网站上有一些分步和参考文档。
然而,为了让你开始:如果你要在一台新机器上安装和启动你的项目,想想你会怎么做可能会有帮助。你可能会这样做。。。
这或多或少是一对一地Map到
当然,以上这些都是未经检验的,但你可能已经明白了。
3mpgtkmj2#
docker hub注册表包含许多官方语言图像,您可以将其用作基础图像。
https://hub.docker.com/_/python/
这些说明告诉您如何构建python项目,包括导入依赖项。
image同时支持python 2和3,您可以在dockerfile中指定:
基础图像使用特殊的onbuild指令为您完成所有的辛苦工作。