Skip to content

Latest commit

 

History

History
84 lines (46 loc) · 3.86 KB

File metadata and controls

84 lines (46 loc) · 3.86 KB

Resumen

La implementación provista de docker y docker compose, su propósito es proveer una forma rápida de acceder al API. Por favor, nótese que estos contenedores no están optimizados para producción.

Instalación

Windows

En el caso de Windows es necesario instalar Docker desktop on Windows el cual puede ser descargado desde https://docs.docker.com/docker-for-windows/install/ este mismo incluye Docker Compose

Adicionalmente el contenedor utiliza volúmenes, estos volúmenes requieren que se le de acceso al disco duro. En el momento de este escrito, eso se puede lograr en la ventana de Settings en el tab de Shared Drivers y seleccionando las unidades que el servicio de docker puede tener disponibles.

  • Docker for Windows
  • User have to grant permission for accessing hard drive

Linux

La instalación de Docker varia dependiendo de la distribución. Lo importante es instalar docker y docker compose.

En este caso los siguientes commandos son normalmente utilizados en Ubuntu (Linux):

sudo apt install docker

sudo apt install docker-compose

Ejecución

Existen varias herramientas que podrían iniciar los contenedores. Después de haber instalado los productos, normalmente se puede ejecutar comandos para arrancar la configuración de los contenedores.

  1. Crear un file vacío con nombre settings.php dentro de carpeta www

    Este archivo settings.php sera persistido con un volumen de docker para no perder las referencias ni de los files uploaded ni de la crypto key para poder usar la misma base datos sin perder ninguna data aunque reiniciemos o le hagamos down a los contenedores.

    Solo se crea este settings.php la primera vez que vas a abrir el proyecto con docker o si eliminaste el archivo anteriormente.

  2. Iniciar Contenedores:

docker-compose -f "docker-compose.yml" up -d

  1. Detener Contenedores

docker-compose -f "docker-compose.yml" down

Solución a Problemas Frecuentes

  1. How to fix ERROR: Couldn’t connect to Docker daemon at http+docker://localhost – is it running? En linux puede que el siguiente error podría aparecer

ERROR: Couldn’t connect to Docker daemon at http+docker://localhost – is it running?

Según https://techoverflow.net/2019/03/16/how-to-fix-error-couldnt-connect-to-docker-daemon-at-httpdocker-localhost-is-it-running/ este error se debe a que el usuario que está ejecutando docker no pertenece a los usuarios que pueden ejecutar docker. En ubuntu (y posiblemente sistemas basados en linux) basta con agregar al usuario al grupo de usuarios: docker

Esto se puede lograr en una terminal al ejecutar los siguientes commands:

Agrega el usuario actual al grupo docker sudo usermod -a -G docker $USER

Reinicia el servicio de docker sudo systemctl enable docker sudo systemctl start docker

  1. No encuentra archivos

En ocasiones podría pasar mostrarse el siguiente error:

standard_init_linux.go:211: exec user process caused "no such file or directory"

Esto podría pasar por ejemplo si los archivos se editan en Windows OS y se ejecutan en Linux. El sistema de codificación de archivos de texto de cada sistema operativo es diferente, y en ocasiones imposibilita la lectura o ejecución de los mismos.

Para convertir los archivos a un formato compatible hay varias opciones. Abrir el archivo y guardarlo en el formato correcto o si esta en linux utilizar el commando dos2unix. Por ejemplo el siguiente script de bash podría hacer la modificación :

sudo apt install dos2unix && for i in `find .`; do dos2unix $i; done

  1. No encuentra el archivo settings.php

Asegúrate de crear el archivo settings.php dentro de la carpeta www. Solo se hace la primera vez que vas a abrir el proyecto con docker o si eliminaste el archivo anteriormente.

Verificando la ejecución del contenedor

La forma más simple es intentar abrir el URI:

http://localhost:8080/api.php?w=ejemplo&r=hola