|
|
|
|
|
- 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
HFSQL y Docker
Disponible solo con este tipo de conexió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. 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:
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: 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/".
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|