Créer des images Docker ts-app et ts-web personnalisées

Dans cette leçon, vous créerez les images Docker personnalisées pour votre Transaction server (ts-app) et votre serveur Web de transactions (ts-web) à partir du package de déploiement généré par l'outil WCB contenant votre magasin local migré. Ces images peuvent ensuite être déployées dans un environnement de production opérationnel pour servir au trafic du site.

Pour plus d'informations sur la création d'images Docker personnalisées à partir de packages de déploiement, voir Création d'une image Docker personnalisée à partir d'un package déployable.
HCL Commerce Version 9.1.14.0 or laterNote: Le nouveau contenu Dockerfile est introduit pour les versions de HCL Commerce 9.1.14.0 et ultérieures en raison de l'introduction de l'utilisateur non root, comuser, ainsi que de la migration du système d'exploitation de conteneur de CentOS vers UBI8 effectuée dans la même version. Pour plus d'informations, voir HCL Commerce 9.1.14.0.

Procedure

  1. Créez votre image Docker Transaction server (ts-app) personnalisée.

    L'image Docker Transaction server contiendra les ressources de magasin local migrées, ainsi que toutes les autres personnalisations que vous avez incluses.

    1. Créez un fichier de configuration Docker Dockerfile avec le contenu suivant.
      HCL Commerce Version 9.1.14.0 or later
      FROM Docker_registry/commerce/ts-app:source_image_tag USER root # Using dnf in UBI8 for package installation RUN dnf install -y nc && dnf clean all USER comuser HEALTHCHECK --retries=10 CMD nc localhost 5080 < /dev/nul COPY --chown=comuser:comuser CusDeploy /SETUP/Cus RUN /SETUP/bin/applyCustomization.sh optional_commands
      Pour les versions de HCL Commerce 9.1.0.0 à 9.1.13.0 :
      FROM Docker_registry/commerce/ts-app:source_image_tag RUN yum install -y nc && yum clean all HEALTHCHECK --retries=10 CMD nc localhost 5080 < /dev/nul COPY CusDeploy /SETUP/Cus RUN /SETUP/bin/applyCustomization.sh optional_commands
    2. Préparez les fichiers de déploiement personnalisés.
      1. Créez le sous-répertoire CusDeploy dans le même répertoire que le Dockerfile créé à l'étape n°1.a.
      2. Extrayez le package de déploiement Transaction server que vous avez créé à la leçon précédente dans le répertoire CusDeploy.
      3. Assurez-vous que vos fichiers de déploiement sont présents :
        • L'archive Web du magasin Stores.war est présente dans le répertoire CusDeploy/Code/ts-app/.
        • Vos configurations de site migrées et vos fichiers XML de sécurité, tels que les fichiers liés au chiffrement AES, se trouvent dans le répertoire CusDeploy/Code/ts-app/xml/config/.
    3. Générez l'image Docker Transaction server (ts-app) personnalisée.
      1. Ouvrez une invite de commande et accédez au répertoire contenant votre Dockerfile et au sous-répertoire CusDeploy.
      2. Exécutez la commande docker build pour créer une image Docker personnalisée pour le Transaction server (ts-app).
        docker build -t ts-app:tag .
        Par exemple :
        docker build -t ts-app:localstore-tag .
        Note:
        • Assurez-vous que la période est présente à la fin de votre commande docker build.
        • Comme le libellé de création du package de déploiement, la balise est utilisée pour identifier l'image Docker personnalisée. Vous pouvez modifier cette image à tout moment pour vous aider à identifier l'image Docker générée.
  2. Créez votre image Docker du serveur Web de transactions (ts-web) personnalisée.

    Tous les magasins contiennent des ressources statiques, telles que les images de produit, les feuilles de style en cascade et les fichiers JavaScript front-end. Ces fichiers sont généralement exécutés par un serveur Web. Dans HCL Commerceversion 9.1, vous pouvez utiliser le serveur Web de transactions (ts-web) pour exécuter ces fichiers.

    La configuration HTTP par défaut de ce serveur définit l'alias /wcsstore pour qu'il indique le répertoire /SETUP/Cus/. Par conséquent, il suffit d'ajouter les fichiers de magasin statiques au répertoire /SETUP/Cus. Etant donné que les ressources dynamiques, telles que les fichiers JSP, ne sont pas exécutées par le serveur Web, vous pouvez supprimer ces fichiers de ressources dynamiques de votre Stores.war, et copier uniquement les ressources statiques restantes dans ts-web.

    1. Créez un package avec les ressources statiques du magasin local.
      1. Extrayez le package de déploiement créé lors de la leçon précédente, wcbd-deploy-server-local-ts-V9.zip.
      2. Extrayez et copiez tout le contenu de Stores.war, situé dans le répertoire Code/ts-app/, vers un nouveau répertoire de travail, localStoreStaticAsset.
      3. Supprimez tous les fichiers dynamiques, tels que les fichiers JavaServer Page et JavaServer Page Fragment (JSP, et JSPF).
      4. Facultatif : La personnalisation des fichiers de configuration httpd.conf et plugin-cfg.xml n'est pas requise pour le déploiement du magasin local. Toutefois, vous pouvez les personnaliser pour ajouter des demandes de transmission ou des limitations de requête. Pour plus d'informations, voir Personnalisation du Web server Docker container.
    2. Créez un fichier de configuration Docker Dockerfile avec les configurations suivantes.
      HCL Commerce Version 9.1.14.0 or later
      FROM Docker_registry/commerce/ts-web:source_image_tag USER root # Using dnf in UBI8 for package installation RUN dnf install -y nc && dnf clean all USER comuser HEALTHCHECK --interval=10s CMD nc localhost 8000 < /dev/null #If you are using a local store from HCL Commerce Version 8 uncomment the next line. #COPY --chown=comuser:comuser localStoreStaticAsset/ /SETUP/Cus/ optional_commands
      Pour les versions de HCL Commerce 9.1.0.0 à 9.1.13.0 :
      FROM Docker_registry/commerce/ts-web:source_image_tag RUN yum install -y nc && yum clean all HEALTHCHECK --interval=10s CMD nc localhost 8000 < /dev/null #If you are using a local store from HCL Commerce Version 8 uncomment the next line. #COPY localStoreStaticAsset/ /SETUP/Cus/ optional_commands
    3. Assurez-vous que le répertoire contenant vos ressources statiques, localStoreStaticAsset, se situe au même niveau que votre nouveau Dockerfile.
    4. Exécutez la commande docker build pour créer une image Docker personnalisée pour le serveur Web de transactions (ts-web).
      docker build -t ts-web:tag .
      Par exemple :
      docker build -t ts-web:localstore-tag .
      Note:
      • Assurez-vous que la période est présente à la fin de votre commande docker build.
      • Comme le libellé de création du package de déploiement et la balise ts-app, la balise est utilisée pour identifier l'image Docker personnalisée. Vous pouvez modifier cette image à tout moment pour vous aider à identifier l'image Docker générée.

Results

Votre package de déploiement contenant votre magasin local migré est utilisé pour créer des images Docker personnalisées pour votre Transaction server (ts-app) et votre serveur Web de transactions (ts-web).

What to do next

Ces images Docker personnalisées peuvent désormais être déployées sur votre environnement de production opérationnel pour servir aux utilisateurs de site sur votre magasin local migré.

Pour poursuivre le tutoriel, passez à Déployez vos images Docker ts-app et ts-web personnalisées..