Linux Docker docker-compose 部署python脚本

安装pipreqs 生成requirements.txt

参考文章: Python学习笔记(三)生成requirements.txt文件

python 复制代码
pip install pipreqs

然后,在终端输入以下命令

python 复制代码
pipreqs ./

(问题1)当项目所在文件夹中已有requirement.txt时,会提示

python 复制代码
WARNING: requirements.txt already exists, use --force to overwrite it

这时需要将输入代码改为以下,即可更新已经存在的requirement.txt文件了。

python 复制代码
pipreqs --force ./

项目要有main文件作为入口,不然同级别目录工具类读取不到


docker-compose.yml

yml 复制代码
version: '3.8'

services:
  cross_border_etf:
    # 使用官方Python 3.9镜像
    image: python:3.9-slim
    # 容器名称(可选)
    container_name: my_cross_border_etf
    # 将宿主机项目目录挂载到容器内
    volumes:
      - /opt/python/stock-python:/app
    # 工作目录设置为容器内的项目目录
    working_dir: /app
    # 安装依赖(如果有requirements.txt)
    command: >
      sh -c "pip install --no-cache-dir -r /app/requirements.txt &&
             python /app/strategy/CrossBorderETF.py"
    # 环境变量(可选,根据项目需要添加)
    environment:
      - PYTHONUNBUFFERED=1  # 确保日志实时输出
      - TZ=Asia/Shanghai    # 设置时区为上海
    # 重启策略(可选)
    restart: unless-stopped
    # 网络设置(默认使用桥接网络,如需自定义可添加)
    # networks:
    #   - stock-network

#docker-compose up -d
# docker exec -it  my_cross_border_etf bash

update.sh

python 复制代码
#!/bin/bash

# 移除名为my_cross_border_etf的容器
echo "正在停止容器 my_cross_border_etf..."
docker stop my_cross_border_etf

echo "等待容器停止完成..."
sleep 5

echo "正在移除容器 my_cross_border_etf..."
docker rm my_cross_border_etf

echo "等待容器移除完成..."
sleep 5

echo "启动docker-compose服务..."
docker-compose up -d

echo "等待服务启动..."
sleep 15

echo "正在查看容器 my_cross_border_etf 日志..."
docker logs -f my_cross_border_etf
相关推荐
如此这般英俊19 小时前
手搓Claude Code-第十三章 background_tasks
前端·人工智能·chrome·python·算法·语言模型·自然语言处理
Είναι η κοπέλα19 小时前
PyTorch 模型导出与部署实战:ONNX + onnxruntime(可直接落地)
人工智能·pytorch·python
Escalating_xu20 小时前
【Linux线程同步】从数据竞争到 mutex、条件变量与生产者消费者(上篇)
android·java·linux
晨曦花锦20 小时前
Vim基础操作与Ollama模型管理,顺便配置Nginx反向代理
linux·nginx·编辑器·vim
Eloudy20 小时前
Ubuntu 22.04 从源码编译安装 ROS 2 Jazzy 笔记
linux·笔记·ubuntu
NutShell Wang20 小时前
Mojo 1.0 实战:把 Python 热路径原地加速到 C++ 级(四层渐进式迁移)
python·mojo·vibe coding
运维行者_20 小时前
预测性云监控怎么做?AI驱动的7大核心能力与落地路径
服务器·开发语言·网络·数据库·人工智能·python·php
呆萌很20 小时前
PyTorch CosineAnnealingLR的T_max和eta_min参数设置
人工智能·pytorch·python
raindayinrain20 小时前
深入理解Linux内核-页表,TLB,高速缓存,性能优化
linux·性能优化·高速缓存·页表·tlb
aichitang202420 小时前
快乐泛函每一天!内积空间
c++·python·数学·算法·机器学习·ai·泛函分析