Definición de lógica personalizada con Dockerfile

En esta lección, definirá toda la lógica de inicio de Docker personalizada en Dockerfile.

Por qué y cuándo se efectúa esta tarea

La forma más directa es definir todo lo que hay en el archivo de Docker personalizado. Significa que antes de que se cree el contenedor Docker, se deben preparar todos los paquetes de personalización y los archivos de configuración necesarios. El procedimiento siguiente es un ejemplo de cómo realizar la personalización.

El ejemplo copia el paquete personalizado en el servidor Liberty rootdirectory, modifica un archivo de configuración (jvm.option) y genera una imagen de Docker personalizada.

Procedimiento

  1. Cree una nueva carpeta cus en el entorno local.
  2. Copie el paquete de personalización crs-app-cus.zip en la nueva carpeta. Este archivo ZIP incluye javaagent.jar y config.yaml.
  3. Cree un Dockerfile para copiar el paquete de personalización en el Docker personalizado y actualizar el archivo jvm.option.
    A continuación se muestra un ejemplo de Dockerfile:
    FROM docker-repo/commerce/crs-app:tag
    COPY crs-app-cus.zip /opt/WebSphere/Liberty/usr/servers/default/
    RUN unzip /opt/WebSphere/Liberty/usr/servers/default/crs-app-cus.zip -d /opt/WebSphere/Liberty/usr/servers/default/ && \
             sed -i '$a\-javaagent:./ javaagent.jar=8080:config.yaml' /opt/WebSphere/Liberty/usr/servers/default/jvm.options
    
  4. Cree la imagen de Docker personalizada con el mandato siguiente:
    docker build -t docker-repo/commerce/crs-app:cus

Resultados

Ha definido satisfactoriamente toda la lógica de inicio de Docker personalizada en Dockerfile.
Punto de comprobación de la lección

En esta lección, ha aprendido a establecer HCL Commerce para seguir el Lógica de inicio del contenedor Docker para la Versión 9.0.0.2 HCL Commerce Version 9.1 predefinido e iniciar Docker.

Lecciones aprendidas
Sin embargo, la lógica predefinida incluye los siguientes inconvenientes:
  • Dado que el paquete de personalización es acumulativo, cuando su tamaño crece, el tamaño de la imagen de Docker también crece.
  • Si desea copiar y modificar otros archivos de configuración, también necesita modificar el archivo de Docker. Esto ha provocado un esfuerzo adicional.
Continúe con las siguientes lecciones sobre cómo personalizar la lógica de inicio de Docker con puntos de extensión o mandatos del motor Run.