Image2Body_gradio / Dockerfile
yeq6x's picture
Dockerfile(redis), model.py(dir), requirements.txt(redis,flask-limiter), app.py(bug fix)
b6c9f2e
raw
history blame
1.62 kB
# CUDA 12.1ベースのUbuntuイメージを使用
# FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu20.04
FROM ubuntu:20.04
# 環境変数の設定
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Tokyo
# システムの更新とPython 3.10のインストール
RUN apt-get update && apt-get install -y --no-install-recommends \
software-properties-common \
wget \
libopencv-dev \
&& add-apt-repository ppa:deadsnakes/ppa \
&& apt-get update && apt-get install -y --no-install-recommends \
python3.10 \
python3.10-dev \
python3.10-distutils \
redis-server \
&& ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# pipのインストールとPythonのセットアップ
RUN wget https://bootstrap.pypa.io/get-pip.py \
&& python3.10 get-pip.py \
&& rm get-pip.py \
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1 \
&& update-alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.10 1
WORKDIR /app
# 依存関係をインストール
COPY requirements.txt /app/
RUN pip install --no-cache-dir -r requirements.txt \
&& pip install --no-cache-dir --no-dependencies transformers
# アプリケーションのコピー
COPY . /app
# Redis の起動スクリプトを作成
RUN echo '#!/bin/bash\nredis-server --daemonize yes\npython app.py' > /app/start.sh \
&& chmod +x /app/start.sh
# 非rootユーザーの作成と切り替え
RUN useradd -m appuser && chown -R appuser:appuser /app
USER appuser
EXPOSE 80
# 起動コマンドを変更
CMD ["/app/start.sh"]