Diferència entre revisions de la pàgina «Puesta en producción classVRroom dockeritzat»

De Wiket
Salta a la navegació Salta a la cerca
Línia 57: Línia 57:
  
  
 +
Una vez tengamos clonado la web de los chic@s de DAW en nuestro sistema con éxito, procederemos a realizar un '''Dockerfile''' y un script '''.sh''' para automatizar la ejecución de dicho servicio. En nuestro caso, en ambos archivos ejecutaremos comandos que quizá a vosotros no os valgan para la inicialización de este servicio, ya que, cada grupo '''DAW''' tendrá su web distribuida de diferente manera y quizá con otras dependencias. Dicho esto, mostraremos a continuación nuestro '''Dockerfile''' y script '''.sh''' para conseguir la inicialización de dicho servicio una vez iniciemos nuestro '''docker-compose.yml''':
 +
<syntaxhighlight lang="dockerfile">
 +
# Utilizamos una imagen oficial de Docker de Python
 +
FROM python:3.10-slim
  
 +
# Cambiamos el tipo de shell por defecto /bin/sh por /bin/bash
 +
SHELL ["/bin/bash", "-c"]
 +
 +
# Instalamos las dependencias necesarias
 +
RUN apt-get update && apt-get install python3-pip python3-venv default-mysql-client libmariadb-dev libmariadb-dev-compat gcc gdal-bin libjpeg-dev gcc python3-dev python3-mysqldb libpq-dev python-dev -y
 +
 +
# Creamos un entorno virtual
 +
RUN python3 -m venv env_classVRroom
 +
 +
# Copiamos todo el contenido de la aplicacion al directorio /opt e instalamos las aplicaciones necesarias
 +
# con el requirements dentro de nuestro entorno virtual
 +
COPY . /opt
 +
RUN source env_classVRroom/bin/activate
 +
RUN pip3 install --no-cache-dir -r /opt/requirements.txt
 +
 +
# Exponemos la aplicacion en el puerto 80
 +
EXPOSE 80
 +
 +
# Le proporcionamos a nuestro script encargado de mgirar los datos de db permisos de ejecucion para poder
 +
# ejecutarlo. Y finalmente, ejecutamos dicho script
 +
RUN chmod +x /opt/iniciarClassvroom.sh
 +
ENTRYPOINT ["/opt/iniciarClassvroom.sh"]
 +
 +
 +
</syntaxhighlight>
  
  

Revisió del 16:33, 6 abr 2022

En este punto, explicaremos a como poner en producción la página web classVRroom realizada por los chic@s de DAW a partir del software Docker. Como ya hicimos con la puesta en producción del WordPress de higiene postural, haremos uso nuevamente de nuestro fichero docker-compose.yml para indicarle el servicio que queremos utilizar y que lo automatice con su respectivo dominio/subdominio y fucnione a partir del protocolo HTTPS.

Zanjado esto, lo primero que deberemos hacer será realizar un fork al repositorio de GitHub de los chic@s de DAW para copiar su proyecto y posteriormente poder clonarlo en nuestro sistema:


Fork a un repositorio GitHub


















Seguidamente, nos deberemos dirigir a nuestro sistema y realizar una clonación al repositorio que nos habrá aparecido una vez hayamos el fork. Para ello, solamente deberemos ejecutar el siguiente comando:

  sudo git clone <enlace de nuestro repositorio>


Git Clone 2.png




Una vez tengamos clonado la web de los chic@s de DAW en nuestro sistema con éxito, procederemos a realizar un Dockerfile y un script .sh para automatizar la ejecución de dicho servicio. En nuestro caso, en ambos archivos ejecutaremos comandos que quizá a vosotros no os valgan para la inicialización de este servicio, ya que, cada grupo DAW tendrá su web distribuida de diferente manera y quizá con otras dependencias. Dicho esto, mostraremos a continuación nuestro Dockerfile y script .sh para conseguir la inicialización de dicho servicio una vez iniciemos nuestro docker-compose.yml:

# Utilizamos una imagen oficial de Docker de Python
FROM python:3.10-slim

# Cambiamos el tipo de shell por defecto /bin/sh por /bin/bash
SHELL ["/bin/bash", "-c"]

# Instalamos las dependencias necesarias
RUN apt-get update && apt-get install python3-pip python3-venv default-mysql-client libmariadb-dev libmariadb-dev-compat gcc gdal-bin libjpeg-dev gcc python3-dev python3-mysqldb libpq-dev python-dev -y

# Creamos un entorno virtual
RUN python3 -m venv env_classVRroom

# Copiamos todo el contenido de la aplicacion al directorio /opt e instalamos las aplicaciones necesarias
# con el requirements dentro de nuestro entorno virtual
COPY . /opt
RUN source env_classVRroom/bin/activate
RUN pip3 install --no-cache-dir -r /opt/requirements.txt

# Exponemos la aplicacion en el puerto 80
EXPOSE 80

# Le proporcionamos a nuestro script encargado de mgirar los datos de db permisos de ejecucion para poder 
# ejecutarlo. Y finalmente, ejecutamos dicho script 
RUN chmod +x /opt/iniciarClassvroom.sh
ENTRYPOINT ["/opt/iniciarClassvroom.sh"]










Volver a IETI Cloud Grupo 2