AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Administrar bases de datos / HFSQL / Gestión de HFSQL Client/Server
  • Presentación
  • Base de datos y Docker: persistence
  • Paso a paso instalación
  • 1. Instalar Docker
  • 2. Deshabilitar temporalmente el cortafuegos
  • 3. Crear un volumen local (directorio en el host)
  • 4. Crear y ejecutar un contenedor HFSQL
  • 5. Vuelva a activar el firewall (firewalld)
  • 6. Consultar la ventana acoplable daemon
  • Acceso al servidor HFSQL del contenedor
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
HFSQL y Docker
HFSQL Client/ServerDisponible solo con este tipo de conexión
Presentación
Docker es una plataforma de software que le permite ejecutar aplicaciones en contenedores de software en Linux (Docker funciona como un daemon).
Cada contenedor de software tendrá su propio entorno, lo que simplifica las pruebas y el implementación.
He aquí la ventaja de los contenedores sobre la virtualización: algunas partes acceden directamente al servidor "host" (mientras que la virtualización crea una capa "completa" de abstracción).
Existen muchas herramientas adicionales que complementan Docker para gestionar la redundancia, la escalabilidad, etc.
Como parte del desarrollo de una aplicación, Docker permite aislar cada módulo (la base de datos, el servidor Web dedicado a los Webservices y el servidor Web dedicado a los sitios).. Estos diferentes módulos pueden ser ejecutados en el mismo servidor mientras están aislados entre sí.
También es posible probar un contenedor y luego implementarlo bajo las mismas condiciones.
Notas:
  • Docker también está disponible para Windows.
  • El propósito de esta página de ayuda no es explicar cómo funciona Docker. Sin embargo, para utilizar el contenedor Docker que contiene el servidor HFSQL, es necesario estar familiarizado con Docker y, en particular:
    • saben cómo instalar un nuevo contenedor desde el Docker Image del servidor HFSQL,
    • saber cómo gestionar al menos un volumen necesario para la persistencia de los datos,
    • saber cómo gestionar la configuración de red dentro de Docker.
  • Sólo está disponible la versión de 64 bits.
Base de datos y Docker: persistence
En sus inicios, Docker fue diseñado para ejecutar aplicaciones "sin estado", es decir, sin datos persistentes (los datos sólo son temporales y se eliminan cuando el contenedor se detiene).. Este modo de funcionamiento no sería muy useful para una base de datos.
Desde entonces, Docker ha evolucionado y permite el uso de volúmenes de datos que son associated con un contenedor (Docker Volume). Los datos pueden ser entonces:
  • en un volumen local en el host Docker,
  • en un volumen en SAN/NAS.
Por lo tanto, es posible utilizar una base de datos HFSQL en un contenedor Docker respetando esta división. Esto mantiene la ventaja de poder cambiar el contenedor HFSQL (actualización, etc.) mientras se mantienen los datos.
Paso a paso instalación
Nota: en los siguientes párrafos, las líneas de comando que ilustran las operaciones en Linux se pueden usar en Ubuntu.

1. Instalar Docker

Primer paso, el más fácil: instalación de Docker en el servidor host.
sudo apt install docker.io

Atención: el nombre de la aplicación es "docker.io", no sólo "docker".

2. Deshabilitar temporalmente el cortafuegos

Las declaraciones correspondientes son:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo reboot
Observación: Esta desactivación temporal puede ser necesaria para evitar un error al iniciar el contenedor Docker (causa el error: "Respuesta de error de daemon: fallo en la programación de la conectividad externa en el endpoint HFSQL_DOCKER").

3. Crear un volumen local (directorio en el host)

Para que los datos de los archivos de la base de datos sean persistentes (se desea conservarlos), es preferible no almacenar estos archivos en el contenedor. Para ello, se crea una carpeta (o un montaje para un SAN/NAS) en el host. En el siguiente ejemplo, la carpeta se crea directamente en el almacenamiento del host.
sudo mkdir /home/docker
sudo mkdir /home/docker/bdd_hfsql
sudo chmod -R 777 /home/docker
Importante: en este ejemplo de comando Line, todos los derechos se dan en el directorio. Se recomienda encarecidamente restringir los derechos del usuario que ejecuta el docker daemon tanto como sea posible.

4. Crear y ejecutar un contenedor HFSQL

En esta etapa, se instala el docker daemon y se crea el volumen de almacenamiento pero aún no se ha instalado HFSQL.
En realidad es Docker quien lo "instalará" desde su sitio de repositorio: basta con indicar al Docker la versión a instalar (todas las versiones disponibles están disponibles en la pestaña "Build Details" del repositorio "windev/hfsql" en "hub.docker.com".
4.a. Configuración "para el ensayo"
Para propósitos de prueba, es posible usar los comandos "crear" e "iniciar" (el comando Line de abajo tiene pausas Line para mayor legibilidad).
sudo docker create
--name HFSQL_DOCKER
--volume /home/docker/bdd_hfsql
:/var/lib/hfsql
--publish 4923:4900
windev/hfsql:US230053b
Aquí están los parámetros del comando Above:
  • "nombre": indica el nombre del contenedor.
  • "volumen": indica la "vinculación" entre el volumen y el directorio definido en el contenedor. En la configuración del servidor HFSQL, la base de datos ruta se verá como "var/lib/hfsql".
  • "Publicar": indica el puerto de acceso al contenedor (4923 en este ejemplo) y la redirección al puerto dentro del contenedor (4900: Puerto estándar HFSQL).
  • el nombre del paquete docker y la versión HFSQL (US230053b" en este ejemplo).
Este comando Line hará que el HFSQL Docker se descargue la primera vez. La siguiente información aparecerá en la consola (el número de versión puede cambiar):
Unable to find image
"windev/hfsql:US230053b" locally
US230053b: Pulling from windev/hfsql
...
A continuación, simplemente inicie la ejecución del contenedor con el comando "start":
sudo docker start HFSQL_DOCKER
4.b. Montaje "para producción"
Para una instalación"real", es necesario usar el comando "run" de Docker.
sudo docker run -dit
--restart unless-stopped
--name HFSQL_DOCKER
--volume /home/docker/bdd_hfsql
:/var/lib/hfsql
--publish 4923:4900
windev/hfsql:US230053b
En este comando Line, los parámetros son idénticos a los del comando "crear", más el comando de reinicio.
Consejo: el siguiente comando permite que el Docker se inicie en el momento del arranque:
sudo systemctl enable docker
SAlgunas notas sobre la instalación:
  • el puerto suministrado al contenedor debe estar libre en el host.
  • el directorio del host (ex: "/home/bob/bdd") debe existir y tener los permisos necesarios.
  • si el servidor debe ser accesible desde fuera del host, el puerto debe estar autorizado por el firewall del host.
  • sólo las versiones validadas por nuestro departamento de calidad se publican en el repositorio de Docker después de pruebas específicas. No hay versiones de pre-lanzamiento o similares.
Variables de entorno: Cuando se crea el contenedor, si no hay bases de datos, puede definir variables de entorno, por ejemplo, mediante la sintaxis:
-e HFSQL_RANDOM_PASSWORD=yes
Puedes usar una de las siguientes tres variables (o nada para el modo "admin" de Default):
  • HFSQL_PASSWORD: Contraseña de la cuenta inicial.
  • HFSQL_FICHERO_CONTRASEÑA: Ruta del archivo que contiene la contraseña de la cuenta inicial.
  • HFSQL_RANDOM_PASSWORD: La contraseña de la cuenta inicial se genera de forma aleatoria. Se visualiza en la salida estándar y se puede encontrar en los registros con el comando:
    docker logs HFSQL_DOCKER
También puedes usar el siguiente Variable (opcional): HFSQL_USER: Nombre de la cuenta (administrada por Default.)

5. Vuelva a activar el firewall (firewalld)

Por supuesto, una vez que la instalación está terminada, el firewall debe ser re-habilitado si fue desactivado en el paso 2.
sudo systemctl enable firewalld
sudo systemctl start firewalld

6. Consultar la ventana acoplable daemon

Es posible ver los contenedores en ejecución, detener un contenedor, etc.. gracias al comando "docker container. Por ejemplo, para listar los contenedores que se están ejecutando:
sudo docker container ls
Acceso al servidor HFSQL del contenedor
Tan pronto como el contenedor se esté ejecutando, es posible acceder al servidor HFSQL mediante la indicación:
  • el nombre del servidor host para el servidor,
  • el puerto associated con el contenedor como puerto para HFSQL (en este artículo: 4923),
  • el usuario y la contraseña de Default HFSQL (no olvides cambiarlos).
Nota: asegúrese de que las bases de datos creadas estén en el volumen deseado y no en el contenedor para que no se pierdan si el contenedor se detiene o se reinicia.
Las configuraciones de los contenedores portuarios se "dejan caer".: así que no intente encontrar la instalación en el directorio de WINDEV.
El contenedor HFSQL Docker está disponible en este Address: "https://hub.docker.com/r/windev/hfsql/".
Versión mínima requerida
  • Versión 22
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local