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
相关推荐
人工智能训练3 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
yaoming1683 小时前
python性能优化方案研究
python·性能优化
码云数智-大飞4 小时前
使用 Python 高效提取 PDF 中的表格数据并导出为 TXT 或 Excel
python
微露清风4 小时前
系统性学习Linux-第二讲-基础开发工具
linux·运维·学习
不会代码的小猴4 小时前
Linux环境编程第六天笔记--system-V IPC
linux·笔记
阳光九叶草LXGZXJ5 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
诸神缄默不语5 小时前
Linux命令行教程
linux
biuyyyxxx5 小时前
Python自动化办公学习笔记(一) 工具安装&教程
笔记·python·学习·自动化
极客数模5 小时前
【2026美赛赛题初步翻译F题】2026_ICM_Problem_F
大数据·c语言·python·数学建模·matlab
i建模7 小时前
如何在Arch Linux中重设忘记的root密码
linux·运维·服务器