Diferència entre revisions de la pàgina «Puesta en producción classVRroom dockeritzat»
Línia 58: | Línia 58: | ||
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''': | 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''': | ||
+ | |||
+ | |||
+ | ''' Dockerfile''' | ||
<syntaxhighlight lang="dockerfile"> | <syntaxhighlight lang="dockerfile"> | ||
# Utilizamos una imagen oficial de Docker de Python | # Utilizamos una imagen oficial de Docker de Python |
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:
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>
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:
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"]