flashcard-a1 / Dockerfile
OzoneAsai's picture
Update Dockerfile
7544b32 verified
# ベースイメージとしてPython 3.11.7を使用
FROM python:3.11.7-slim
# 作業ディレクトリを設定
WORKDIR /code
# requirements.txtをコンテナにコピー
COPY ./requirements.txt /code/requirements.txt
# 依存関係をインストール
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# git をインストール
RUN apt-get update && apt-get install -y git
# シークレット情報をクローンに使用
# SECRET_GIT_TOKEN は Docker のシークレットとして設定したもの
RUN --mount=type=secret,id=ghKey,mode=0444,required=true \
git clone https://$(cat /run/secrets/ghKey)@github.com/OzoneAsai/flashcards.git
# ソースコード全体をコンテナにコピー
COPY . .
RUN chmod -R 777 ./flashcards
RUN cd ./flashcards
WORKDIR /code/flashcards
RUN --mount=type=secret,id=GEMINI_API_KEY,mode=0444,required=true \
echo "GEMINI_API_KEY=$(cat /run/secrets/GEMINI_API_KEY)" >> .env
# アプリケーションの起動
CMD ["python3", "app.py"]