Przeglądaj źródła

Pongo bien dockerfile para alpine

Celestino Rey 6 miesięcy temu
rodzic
commit
b42571a04b
4 zmienionych plików z 72 dodań i 72 usunięć
  1. 16 26
      Dockerfile
  2. 0 30
      Dockerfile.alpine
  3. 37 0
      Dockerfile.antiguo
  4. 19 16
      Dockerfile.debian

+ 16 - 26
Dockerfile

@@ -1,40 +1,30 @@
 # yup, python 3.11!
-FROM python:3.11-slim
+FROM python:3.11-alpine 
 
 # install nginx y otras cosas
-RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 postgresql-client -y
+RUN apk add nginx netcat-openbsd curl vim jq rsync pango pango-dev cairo postgresql-client bash glib fontconfig font-noto
+
+COPY ./src/requirements.txt requirements.txt
+RUN pip install --user --no-cache-dir -r requirements.txt
+
+COPY ./nginx/default.conf /etc/nginx/http.d/nginx.conf
 
-# 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
+RUN ln -sf /dev/stdout /var/log/nginx/access.log && \
+    ln -sf /dev/stderr /var/log/nginx/error.log && \
+    chgrp -R 0 /var/lib/nginx && \
+    chmod -R g=u /var/lib/nginx
+
+ENV PATH="/root/.local/bin:$PATH"
 
 # 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
+RUN chgrp -R 0 ./app && \
+    chmod -R g=u ./app
 
 # 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"]
+CMD ["/app/config/entrypoint.sh"]

+ 0 - 30
Dockerfile.alpine

@@ -1,30 +0,0 @@
-# yup, python 3.11!
-FROM python:3.11-alpine 
-
-# install nginx y otras cosas
-RUN apk add nginx netcat-openbsd curl vim jq rsync pango pango-dev cairo postgresql-client bash glib fontconfig font-noto
-
-COPY ./src/requirements.txt requirements.txt
-RUN pip install --user --no-cache-dir -r requirements.txt
-
-COPY ./nginx/default.conf /etc/nginx/http.d/nginx.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 && \
-    chgrp -R 0 /var/lib/nginx && \
-    chmod -R g=u /var/lib/nginx
-
-ENV PATH="/root/.local/bin:$PATH"
-
-# copy the django code
-COPY ./src ./app
-
-RUN chgrp -R 0 ./app && \
-    chmod -R g=u ./app
-
-# change our working directory to the django projcet roo
-WORKDIR /app
-
-# execute our entrypoint.sh file
-CMD ["/app/config/entrypoint.sh"]

+ 37 - 0
Dockerfile.antiguo

@@ -0,0 +1,37 @@
+# yup, python 3.11!
+FROM python:3.11-slim
+
+# copy the django code
+COPY ./src ./app
+
+# install nginx y otras cosas
+RUN apt-get update -y && \
+    apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 postgresql-client -y && \
+    rm /etc/nginx/sites-enabled/default && \
+    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 && \
+    chgrp -R 0 ./app && \
+    chmod -R g=u ./app && \
+    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 && \
+    echo "export PATH=/opt/venv/bin/:$PATH" >> /root/.bashrc && \
+    chmod +x config/entrypoint.sh
+
+#EXPOSE 8080
+
+# execute our entrypoint.sh file
+CMD ["./config/entrypoint.sh"]

+ 19 - 16
Dockerfile.debian

@@ -1,23 +1,21 @@
 # yup, python 3.11!
 FROM python:3.11-slim
 
-# copy the django code
-COPY ./src ./app
-
 # install nginx y otras cosas
-RUN apt-get update -y && \
-    apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 postgresql-client -y && \
-    rm /etc/nginx/sites-enabled/default && \
-    rm /etc/nginx/sites-available/default
+RUN apt-get update && apt-get install nginx netcat-openbsd curl vim jq rsync libpango-1.0-0 libpangocairo-1.0-0 libcairo2 postgresql-client -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 && \
-    chgrp -R 0 ./app && \
-    chmod -R g=u ./app && \
-    chgrp -R 0 /var/lib/nginx && \
-    chmod -R g=u /var/lib/nginx
+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
@@ -27,9 +25,14 @@ WORKDIR /app
 # 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 && \
-    echo "export PATH=/opt/venv/bin/:$PATH" >> /root/.bashrc && \
-    chmod +x config/entrypoint.sh
+    /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