Browse Source

Pongo Dockerfile igual a finanzas

main
Celestino Rey 2 months ago
parent
commit
c5b0170c28
3 changed files with 41 additions and 62 deletions
  1. +1
    -1
      Dockerfile
  2. +40
    -0
      Dockerfile.copia
  3. +0
    -61
      Dockerfile.k8s

+ 1
- 1
Dockerfile View File

@ -2,7 +2,7 @@
FROM python:3.11-slim
# install nginx y otras cosas
RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync -y
RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 -y
# copy our nginx configuration to overwrite nginx defaults
RUN rm /etc/nginx/sites-enabled/default


+ 40
- 0
Dockerfile.copia View File

@ -0,0 +1,40 @@
# yup, python 3.11!
FROM python:3.11-slim
# install nginx y otras cosas
RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync -y
# copy our nginx configuration to overwrite nginx defaults
RUN rm /etc/nginx/sites-enabled/default
RUN rm /etc/nginx/sites-available/default
COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
# link nginx logs to container stdout
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
# copy the django code
COPY ./src ./app
RUN chgrp -R 0 ./app && chmod -R g=u ./app
RUN chgrp -R 0 /var/lib/nginx && chmod -R g=u /var/lib/nginx
# change our working directory to the django projcet roo
WORKDIR /app
# create virtual env (notice the location?)
# update pip
# install requirements
RUN python -m venv /opt/venv && \
/opt/venv/bin/python -m pip install pip --upgrade && \
/opt/venv/bin/python -m pip install -r requirements.txt
# Añade path a .bashrc
RUN echo "export PATH=/opt/venv/bin/:$PATH" >> /root/.bashrc
# make our entrypoint.sh executable
RUN chmod +x config/entrypoint.sh
#EXPOSE 8080
# execute our entrypoint.sh file
CMD ["./config/entrypoint.sh"]

+ 0
- 61
Dockerfile.k8s View File

@ -1,61 +0,0 @@
# syntax=docker/dockerfile:1
##################
# BUILDER #
##################
FROM python:3.11.4-slim-buster AS builder
# set work directory
WORKDIR /app
# set environment variables
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends gcc
# lint
RUN pip install --upgrade pip
RUN pip install flake8==6.0.0
COPY . /app/
RUN flake8 --ignore=E501,F401,E126 .
COPY ./src/requirements.txt .
RUN pip wheel --no-cache-dir --no-deps --wheel-dir /app/wheels -r requirements.txt
##################
# FINAL #
##################
FROM python:3.11.4-slim-buster
# create the appropriate directories
ENV APP_HOME=/app
RUN mkdir -p $APP_HOME
WORKDIR $APP_HOME
# install system dependencies
RUN apt-get update && apt-get install -y sqlite3 netcat vim procps curl jq
COPY --from=builder /app/wheels /wheels
COPY --from=builder /app/requirements.txt .
RUN pip install --upgrade pip
RUN pip install --no-cache /wheels/*
# copy entrypoint.sh
COPY ./entrypoint.sh .
# copy project
COPY . $APP_HOME
# change to the app user
WORKDIR $APP_HOME/src
# run entrypoint.sh
ENTRYPOINT ["/app/entrypoint.sh"]

Loading…
Cancel
Save