Dockerfile.oc 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. FROM python:3.11-slim
  2. # install system dependencies
  3. RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 -y
  4. # copy our nginx configuration to overwrite nginx defaults
  5. RUN rm /etc/nginx/sites-enabled/default
  6. RUN rm /etc/nginx/sites-available/default
  7. COPY ./nginx/default.conf /etc/nginx/conf.d/default.conf
  8. # link nginx logs to container stdout
  9. RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
  10. # copy the django code
  11. COPY ./src ./app
  12. # change our working directory to the django projcet roo
  13. WORKDIR /app
  14. # create virtual env (notice the location?)
  15. # update pip
  16. # install requirements
  17. RUN python -m venv /opt/venv && \
  18. /opt/venv/bin/python -m pip install pip --upgrade && \
  19. /opt/venv/bin/python -m pip install -r requirements.txt
  20. # Añade path a .bashrc
  21. RUN echo "export PATH=/opt/venv/bin/:$PATH" >> /root/.bashrc
  22. # make our entrypoint.sh executable
  23. RUN chmod +x config/entrypoint.sh
  24. #EXPOSE 8080
  25. # execute our entrypoint.sh file
  26. CMD ["./config/entrypoint.sh"]