PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Présentation
  • Comment le faire ?
  • Configuration nécessaire
  • Exécution de l'image (création du conteneur)
  • Notes (important)
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget iOSApple WatchCatalystUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Présentation
A partir de la version 22, un conteneur Docker contenant le serveur HFSQL est présent dans Docker Hub :
https://hub.docker.com/r/windev/hfsql
L'installation d'un serveur HFSQL devient simplissime : 1 ligne à taper ou à scripter !
Comment le faire ?

Configuration nécessaire

La distribution Linux utilisée n'a pas d'importance. Cependant, pour utiliser le conteneur Docker contenant le serveur HFSQL, il est nécessaire de maîtriser Docker et notamment il est nécessaire de :
  • savoir installer un nouveau conteneur à partir de l'image Docker du serveur HFSQL,
  • gérer au moins un volume nécessaire à la persistance des données,
  • gérer la configuration réseau à l'intérieur de Docker.

Exécution de l'image (création du conteneur)

  • Le nom de l'image prédéfinie est :
    "windev/hfsql:<FR/US><Version>"
  • Pour avoir une persistance des données (par exemple en cas changement de l'image), il faut :
    • Utiliser un volume. La commande de création d'un volume :
      "docker volume create <NomVolume>"
    • Monter le volume dans le conteneur sur
      "/var/lib/hfsql"
  • Exemple de ligne de commande :
    sudo docker run -d
    --restart unless-stopped
    --name HFSQL_DOCKER
    --volume <NomVolume>:/var/lib/hfsql
    --publish 4923:4900
    windev/hfsql:FR230053b
    Dans cette ligne de commande, les paramètres sont les suivants :
    • "name": indique le nom du conteneur.
    • "volume" : indique le "binding" entre le volume et le répertoire défini dans le conteneur. Dans la configuration du serveur HFSQL, le chemin des bases de données sera vu comme "var/lib/hfsql".
    • "publish": indique le port d'accès au conteneur (4923 dans cet exemple) et la redirection vers le port à l'intérieur du conteneur (4900: le port standard de HFSQL).
      Dans cet exemple, le serveur sera donc accessible sur le port 4923 du serveur docker.
    • le nom du paquet docker et la version HFSQL ("FR230053b" dans cet exemple).

Notes (important)

  • A la création du conteneur, si les bases n'existent pas, il est possible de définir des variables d'environnement, par exemple, via la syntaxe :
    -e HFSQL_RANDOM_PASSWORD=yes

    Il est possible d'utiliser une des trois variables suivantes (ou rien pour le mode par défaut "admin") :
    • HFSQL_PASSWORD : Mot de passe du compte initial.
    • HFSQL_PASSWORD_FILE : Chemin du fichier qui contient le mot de passe du compte initial.
    • HFSQL_RANDOM_PASSWORD : Le mot de passe du compte initial est généré aléatoirement
      Il est affiché sur la sortie standard et peut être retrouvé dans les logs avec la commande
      docker logs HFSQL_DOCKER
    Il est également possible d'utiliser la variable suivante (facultatif) : HFSQL_USER : Nom du compte (admin par défaut).
  • Rappel des commandes de base de docker :
    • Arrêt d'un conteneur :
      "docker stop <ID>"
    • Redémarrage d'un conteneur :
      "docker start <ID>"
  • Cas de la réplication Serveur à Serveur :
    La réplication "Serveur à Serveur" n'est pas possible avec l'image HFSQL Docker par défaut.
    Pour réaliser ce type de réplication, il faut modifier l'image Docker de HFSQL d'origine pour autoriser la réplication "Serveur à Serveur" afin d'exposer le port utilisé pour la réplication.
    Il faut pour cela :
    • créer une autre image Docker du serveur HFSQL.
    • inclure dans cette nouvelle image l'exposition du port utilisé pour la réplication. L'image d'origine peut être récupérée à l'adresse suivante https://hub.docker.com/r/windev/hfsql/dockerfile.
      La nouvelle image créée peut être par exemple :
      FROM debian:stretch-slim

      MAINTAINER PCSOFT <network@pcsoft.fr>

      ARG HFSQL_VERSION=25.0.062
      ARG HFSQL_LANG=fr

      RUN set -x \
      && groupadd -r hfsql --gid=4900 && useradd -r -g hfsql --uid=4900 hfsql \
      && apt-get update \
      && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 \
      && apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-keys 3a2b08fb11ba9bca \
      && apt-get remove --purge --auto-remove -y gnupg1 \
      && echo "deb http://package.windev.com/${HFSQL_LANG}/debian/ debian main" >
      /etc/apt/sources.list.d/pcsoft.list \
      && apt-get update \
      && apt-get install --no-install-recommends --no-install-suggests
      -y libqtgui4 hfsql="${HFSQL_VERSION}" \
      && rm -rf /var/lib/apt/lists/*

      VOLUME /var/lib/hfsql
      EXPOSE 4900
      EXPOSE 4996

      USER hfsql

      COPY docker-entrypoint.sh /usr/local/bin/
      ENTRYPOINT ["docker-entrypoint.sh"]

      CMD ["hfsql"]
Version minimum requise
  • Version 22
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire