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
- Cree una nueva carpeta cus en el entorno local.
- Copie el paquete de personalización crs-app-cus.zip en la nueva carpeta. Este archivo ZIP incluye javaagent.jar y config.yaml.
-
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
-
Cree la imagen de Docker personalizada con el mandato siguiente:
docker build -t docker-repo/commerce/crs-app:cus
Resultados
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.
- 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.