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
相关推荐
lsh曙光2 小时前
延时at指令和定时cron指令
linux·服务器·网络
圆山猫2 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
笨鸟先飞,勤能补拙2 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
似的8353 小时前
一步一步学习使用FireMonkey动画() 使用TAnimator类创建动画
linux·学习·nginx
长和信泰光伏储能3 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
浦信仿真大讲堂3 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study4 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
我不管我就要叫小猪4 小时前
嵌入式Linux----网络通信
linux·运维·服务器
江湖有缘4 小时前
Docker实战 :使用Docker部署OneTerm堡垒机
运维·docker·容器
泡沫冰@4 小时前
ECS 的介绍和使用
linux·服务器·网络