首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

怎么在群晖 NAS 的 docker 上跑自己写的 Python

  •  
  •   l4ever · 312 天前 · 5345 次点击
    这是一个创建于 312 天前的主题,其中的信息可能已经有所发展或是发生改变。
    10 回复  |  直到 2018-12-17 15:52:48 +08:00
        1
    lizheming   312 天前   ♥ 1
    链接那块把你的 python 项目文件夹映射到容器里,然后 entrypoint 那不是有填命令的地方么,直接写 python 你的容器文件夹 /app.py 这样应该就行。其实就是 `docker run -v ~/python-app:/app --entrypoint=["python", "/app/app.py"] python` 这个逻辑的 GUI 化大概。
        2
    l4ever   312 天前
    @lizheming 这样是可以,但是 import 里面的第三方库怎么处理呢?
        3
    l4ever   312 天前
    requirements.txt 和 Dockerfile 我都创建了.
        4
    lizheming   312 天前
    @l4ever 这种建议直接创建个新镜像镜像里把项目文件拷贝进去, `pip install` 一下把依赖装好,然后直接启动就好了。
        5
    l4ever   312 天前
    @lizheming 明白了,谢谢.
        6
    l4ever   312 天前
    解决方法如下:
    1.ssh 登陆 NAS,在个人目录下
    mkdir Docker
    vi Dockerfile
    写入下面内容
    FROM python:3
    WORKDIR /usr/src/app
    COPY requirements.txt ./
    RUN pip install --no-cache-dir -r requirements.txt
    COPY . .
    CMD [ "python", "./app.py" ]

    vi requirements.txt
    写依赖,一行一个

    然后
    sudo docker build -t python_app .

    成功之后登陆 nas web 管理, 启动的时候映射一下即可.
        7
    goodryb   312 天前
    如果只是为了运行 python,还有一个办法
    先 python 起一个 alpine3.8 镜像(这个镜像非常小,5M ),启动后在 docker 管理界面进入镜像详情,有一个类似 webshell 的东西,在里面可以安装 python 或者 python3,apk add python/python3
    如果要远程用可以安装 ssh 服务,然后就可以像服务器一样登录进去
    当然也可以通过 pip 来安装第三方依赖,因为这个是极简的镜像,很多库都没有,可以先安装一些库文件,比如 apk add build-sdk,基本的编译环境就都有了
    停止或者启动镜像不影响,别删除就好,
        8
    xingo   311 天前
    ?在服务器上怎么用 docker 部署在群晖里就怎么部署啊,
    像你这种单 python 的可以直接用 docker run python 然后指定 entrypoint 吧
    觉得命令麻烦的可以写 yml 用 docker-compose 起啊。。。。

    docker 学的不到家看看 docker 文档吧
        9
    winglight2016   311 天前
    有定制需求就自己打包 image,用别人的就没法支持自己的业务了

    另外,lz 如果是需要跑特定功能的 docker,可以找一下看看有没有现成的 image,我之前就找到一个自动更新 godaddy ip 的 docker,非常好用
        10
    julyclyde   310 天前
    穿上裤子再放屁
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3043 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 11:04 · PVG 19:04 · LAX 04:04 · JFK 07:04
    ♥ Do have faith in what you're doing.