2024-06-20 14:55:36 +08:00
|
|
|
FROM base
|
2024-06-19 19:23:01 +08:00
|
|
|
|
|
|
|
# 升级pip
|
|
|
|
RUN pip install --upgrade pip
|
|
|
|
|
|
|
|
# 创建一个用户运行flask
|
2024-07-01 21:48:29 +08:00
|
|
|
RUN useradd -m -s /bin/bash flask && \
|
2024-06-20 14:55:36 +08:00
|
|
|
chown -R flask:flask /home/flask && \
|
|
|
|
mkdir -p /var/log/flask-app && touch /var/log/flask-app/flask-app.err.log && touch /var/log/flask-app/flask-app.out.log && \
|
2024-07-01 21:48:29 +08:00
|
|
|
chown -R flask:flask /var/log/flask-app && \
|
|
|
|
service ssh start && \
|
|
|
|
service ssh restart
|
2024-06-19 19:23:01 +08:00
|
|
|
WORKDIR /home/flask
|
|
|
|
USER flask
|
|
|
|
|
|
|
|
# 复制
|
|
|
|
COPY --chown=flask:flask . .
|
|
|
|
|
|
|
|
# venv
|
|
|
|
ENV VIRTUAL_ENV=/home/flask/venv
|
2024-06-20 14:55:36 +08:00
|
|
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
2024-06-19 19:23:01 +08:00
|
|
|
|
|
|
|
# 安装包
|
|
|
|
COPY --from=build-dmpython --chown=flask:flask /home/dmdba/build_artifacts/dmPython-2.5.5-cp310-cp310-linux_x86_64.whl .
|
2024-06-20 14:55:36 +08:00
|
|
|
RUN python3 -m venv "$VIRTUAL_ENV" && \
|
|
|
|
export FLASK_APP=app.py && \
|
|
|
|
pip3 install dmPython-2.5.5-cp310-cp310-linux_x86_64.whl && rm dmPython-2.5.5-cp310-cp310-linux_x86_64.whl && \
|
|
|
|
MAKEFLAGS="-j$(nproc)" pip install -r requirements.txt
|
2024-07-01 21:48:29 +08:00
|
|
|
|
2024-06-19 19:23:01 +08:00
|
|
|
COPY --from=build-dmpython /home/dmdba/build_artifacts/libdmdpi.so /usr/lib/
|
|
|
|
COPY --from=build-frontend /usr/src/app/build/ /home/flask/public/
|
2024-06-20 14:55:36 +08:00
|
|
|
|
2024-06-19 19:23:01 +08:00
|
|
|
# 暴露端口
|
2024-07-01 21:48:29 +08:00
|
|
|
EXPOSE 8000 22 8765
|
|
|
|
USER root
|
2024-06-19 19:23:01 +08:00
|
|
|
|
2024-06-20 14:55:36 +08:00
|
|
|
CMD ["gunicorn", "-w", "3", "-t", "60", "-b", "0.0.0.0:8000", "app:app"]
|