Crear imágenes personalizadas ts-app y ts-web de Docker

En esta lección, creará las imágenes personalizadas de Docker para Transaction server (ts-app) y el servidor web Transaction (ts-web) a partir del contenido del paquete de implementación generado por la herramienta WCB que contiene la tienda local migrada. A continuación, estas imágenes se pueden implementar en un entorno de producción en vivo para servir al tráfico del sitio.

Para más información sobre la creación de imágenes de Docker personalizadas a partir de paquetes de implementación, consulte Creación de una imagen de Docker personalizada a partir de un paquete desplegable.
HCL Commerce Version 9.1.14.0 or laterNote: Se introduce nuevo contenido de Dockerfile para las versiones de HCL Commerce 9.1.14.0 y posteriores debido a la introducción del usuario no raíz, comuser, junto con la migración del sistema operativo de contenedor de CentOS a UBI8 que se produjo en la misma versión. Para obtener más información, consulte HCL Commerce 9.1.14.0.

Procedure

  1. Cree la imagen de Docker personalizada Transaction server (ts-app).

    La imagen de Docker Transaction server contendrá los activos de almacén local migrados, junto con cualquier otra personalización que haya incluido.

    1. Cree un archivo de configuración de Dockerfile Docker con el siguiente contenido.
      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
      Para versiones de HCL Commerce de la 9.1.0.0 a la 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. Prepare los archivos de implementación personalizados.
      1. Cree el subdirectorio CusDeploy en el mismo directorio que dockerfile creado en el paso n.º 1.a.
      2. Extraiga el paquete de implementación de Transaction server que creó en la lección anterior en el directorio CusDeploy.
      3. Asegúrese de que los archivos de implementación estén presentes:
        • El archivo web de la tienda Stores.war está presente en el directorio CusDeploy/Code/ts-app/.
        • Las configuraciones de sitio migrados y los archivos XML de seguridad, como los archivos relacionados con el cifrado AES, se encuentran dentro del directorio CusDeploy/Code/ts-app/xml/config/.
    3. Cree la imagen de Docker personalizada Transaction server (ts-app).
      1. Abra un símbolo del sistema y vaya al directorio que contiene el dockerfile y el subdirectorio CusDeploy.
      2. Ejecute el comando docker build para crear una imagen de Docker personalizada para Transaction server (ts-app).
        docker build -t ts-app:tag .
        Por ejemplo:
        docker build -t ts-app:localstore-tag .
        Note:
        • Asegúrese de que el período esté presente al final del comando docker build.
        • La etiqueta, al igual que la etiqueta de compilación del paquete de implementación, se usa para identificar la imagen personalizada de Docker. Puede modificar esto en cualquier momento para ayudar a identificar la imagen de Docker generada.
  2. Cree la imagen de Docker personalizada del servidor web Transaction (ts-web).

    Todas las tiendas contienen algunos activos estáticos, como imágenes de productos, hojas de estilos en cascada y archivos javascript front-end. Estos archivos suelen ser servidos por un servidor web. En HCL Commerceversión 9.1, puede utilizar el servidor web Transaction (ts-web) para servir estos archivos.

    La configuración HTTP predeterminada de este servidor define el alias /wcsstore que se debe apuntar al directorio /SETUP/Cus/. Por lo tanto, todo lo que se requiere es agregar los archivos de tienda estáticos al directorio /SETUP/Cus. Dado que los activos dinámicos, como los archivos JSP, no son servidos por el servidor web, puede quitar estos archivos de activos dinámicos de su Stores.war y solo copiar los activos estáticos restantes en ts-web.

    1. Cree un paquete con los activos estáticos para la tienda local.
      1. Extraiga el paquete de implementación creado en la lección anterior, wcbd-deploy-server-local-ts-V9.zip.
      2. Extraiga y copie todo el contenido del Stores.war, ubicado dentro del directorio Code/ts-app/, en un nuevo directorio de trabajo, localStoreStaticAsset.
      3. Elimine los archivos dinámicos, como JavaServer Page y JavaServer Page Fragment files (JSP y JSPF).
      4. Opcional: no es necesario personalizar los archivos de configuración de httpd.conf y plugin-cfg.xml para la implementación de la tienda local. Sin embargo, puede personalizarlas para agregar solicitudes de reenvío o limitaciones de solicitud. Para obtener más información, consulte Personalización del Web server Docker container.
    2. Cree un archivo de configuración de Dockerfile Docker con la siguiente configuración.
      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
      Para versiones de HCL Commerce de la 9.1.0.0 a la 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. Asegúrese de que el directorio que contiene los activos estáticos, localStoreStaticAsset se encuentra en el mismo nivel que el nuevo Dockerfile.
    4. Ejecute el comando docker build para crear una imagen de Docker personalizada para el servidor web Transaction (ts-web).
      docker build -t ts-web:tag .
      Por ejemplo:
      docker build -t ts-web:localstore-tag .
      Note:
      • Asegúrese de que el período esté presente al final del comando docker build.
      • La etiqueta, al igual que la etiqueta de compilación del paquete de implementación y ts-app, se usa para identificar la imagen personalizada de Docker. Puede modificar esto en cualquier momento para ayudar a identificar la imagen de Docker generada.

Results

El paquete de implementación, que contiene la tienda local migrada, se usa para crear imágenes personalizadas de Docker para Transaction server (ts-app) y el servidor web Transaction (ts-web).

What to do next

Estas imágenes personalizadas de Docker ahora se pueden implementar en el entorno de producción en vivo para servir a los usuarios del sitio en el almacén local migrado.

Para continuar con el tutorial, vaya a Implemente las imágenes de Docker personalizadas ts-app y ts-web..