iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0

現在打算開始部屬交易程式,依據先前的步驟

  1. 把Dockerfile編譯成Image
  2. 推送到AWS ECR
  3. 開一個AWS ECS的Task Definition 指定使用剛剛推上去的Image
  4. 開一個AWS ECS的Service指定Task Definition然後deploy
  5. 交易程式運行時,把log寫到/tmp/log中
# syntax=docker/dockerfile:1

FROM python:3.12-slim

ENV PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1 \
    PIP_DISABLE_PIP_VERSION_CHECK=1 \
    PIP_DEFAULT_TIMEOUT=100 \
    TRADER_LOG_DIR=/tmp/log \
    PYTHONPATH=/app

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
        build-essential \
        libffi-dev \
        libssl-dev \
        libgl1 \
        libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

COPY requirements.txt ./

RUN python -m pip install --upgrade pip \
    && python -m pip install --no-cache-dir -r requirements.txt

COPY . .

RUN useradd --system --create-home --home-dir /home/trader trader \
    && mkdir -p ${TRADER_LOG_DIR} \
    && chown -R trader:trader /app ${TRADER_LOG_DIR}

USER trader

ENTRYPOINT ["python"]
CMD ["trader.py"]

上一篇
Day15 - Offline Debug
下一篇
Day 17 - 抓取數據
系列文
從零開始:AWS 部署 Python 自動交易程式與交易監測 Dashboard 實戰筆記18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言