V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiayouzl
V2EX  ›  Docker

请假下大家,关于 docker 部署 Python 服务端的问题,谢谢.

  •  
  •   jiayouzl · 2023-03-16 11:49:47 +08:00 · 1323 次点击
    这是一个创建于 650 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请假下大家,我自己写了个 docker 的 dockerfile 部署自己的 Python 的 Django 服务端代码,我 Python 的代码更新后,除了重新 build dockerfile 还有什么其他更方便的点的方法吗?谢谢.
    7 条回复    2023-03-16 13:08:41 +08:00
    dethan
        1
    dethan  
       2023-03-16 12:11:47 +08:00 via Android
    映射代码目录到主机
    Alliot
        2
    Alliot  
       2023-03-16 12:40:43 +08:00
    挂载项目目录为 volume , 改了代码就 restart 容器就行
    simau
        3
    simau  
       2023-03-16 12:43:42 +08:00 via Android
    gitea + drone ,push 后自动 build 和部署
    niubee1
        4
    niubee1  
       2023-03-16 12:44:16 +08:00
    -v 宿主机程序所在目录:容器内程序所在目录
    或者在 docker-compose 里写
    volumes:
    - 宿主机程序所在目录:容器内程序所在目录
    niubee1
        5
    niubee1  
       2023-03-16 12:47:29 +08:00
    一般如果自己定义了日志输出目录和 logrotate 的话就用同样的方式把日志输出目录也映射到宿主机。如果直接输出到了 stdout ,最好定义下 docker 的日志 logrotate ,不然清日志火葬场
    Trim21
        6
    Trim21  
       2023-03-16 13:04:04 +08:00 via Android
    我是用 ci 构建一个只有依赖的 base docker 。hash 一下 dockerfile 和 requirements 作为 base tag 。这样如果依赖变化了,pull 不到之前的镜像时就重新构建 base 然后 push 上去,如果依赖没变化就直接用之前的 base 。然后用把代码 copy 进去,tag 成最后的镜像。

    这样不涉及依赖的简单代码修改的 docker 构建和 pull 都只需要涉及一层 docker 镜像。
    jiayouzl
        7
    jiayouzl  
    OP
       2023-03-16 13:08:41 +08:00
    感谢各位
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5104 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:42 · PVG 13:42 · LAX 21:42 · JFK 00:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.