Hay que crear el contenedor Docker y distribuirlo en un registro donde esté referenciado por IBM Cloud Private.
Acerca de esta tarea
Utilice la imagen oficial de WebSphere Application Server para desarrolladoresLiberty en Docker Hub.
Están disponibles varias imágenes en este repositorio. La imagen con la etiqueta beta contiene el contenido del archivo de instalación para la versión beta mensual. Las otras imágenes se basan todas en el fixpack disponible de forma general más reciente.
La imagen
kernel contiene solo el kernel de
Liberty y ninguna característica de tiempo de ejecución adicional. Puede utilizar esta imagen o imágenes personalizadas-incorporadas que solo contienen las características que son necesarias para una aplicación específica. Por ejemplo, el fragmento de código de ejemplo de Dockerfile siguiente empieza con esta imagen, copia el archivo
server.xml que lista las características que necesita la aplicación y, después, utiliza el mandato
installUtility para descargar aquellas características desde el repositorio en línea:
FROM websphere-liberty:kernel
COPY server.xml /config/
RUN installUtility install --acceptLicense defaultServer
La imagen webProfile6 contiene las características que son necesarias para la conformidad de Java EE6 Web
Profile. También extrae más características para alinear el contenido con las características que están disponibles para su descarga utilizando el archivo JAR de tiempo de ejecución, especialmente las características necesarias para aplicaciones OSGi.
La imagen webProfile7 contiene las características que son necesarias para la conformidad de perfil web de Java EE7. La imagen javaee7 amplía esta imagen y añade las características que son necesarias para la conformidad de plataforma completa de Java EE7. La imagen javaee7 también se etiqueta con latest.
Las imágenes
webProfile6,
webProfile7 y
javaee7 también contienen todas un conjunto común de características que se utilizan para un escenario de producción típico.
Las características siguientes conforman este conjunto común de características:
- appSecurity-2.0
- collectiveMember-1.0
- localConnector-1.0
- ldapRegistry-3.0
- monitor-1.0
- requestTiming-1.0
- restConnector-1.0
- sessionDatabase-1.0
- Actualice el archivo server.xml para aceptar conexiones HTTP desde fuera del contenedor añadiendo el elemento siguiente dentro de la stanza del servidor:
<httpEndpoint host="*" httpPort="9080" httpsPort="-1"/>
- Cree un proyecto Eclipse como, por ejemplo, sample-one-container. En este proyecto, incluya el Dockerfile y el archivo WAR del archivo server.xml file. Consulte el ejemplo de Dockerfile siguiente:
FROM library/websphere-liberty:webProfile7
Add sample-one.war /opt/ibm/wlp/usr/servers/defaultServer/apps
COPY server.xml /opt/ibm/wlp/usr/servers/defaultServer/
ENV LICENSE accept
En este Dockerfile, la imagen de Liberty se personaliza copiando el archivo WAR en el directorio drop-ins, que instala la aplicación e inicia el servidor. El server.xml se sustituye con el server.xml modificado para permitir conexiones HTTP desde fuera del contenedor. La licencia también se acepta.
- Recopile los archivos server.xml y WAR de este proyecto, y prepare la ejecución de la compilación de docker para crear una imagen Docker.
- Abra una línea de comandos y establezca el directorio actual al directorio del proyecto de contenedor de ejemplo uno, y ejecute la compilación de Docker. Esta es una compilación Docker personalizada, que empieza con la imagen del hub Docker Liberty y añade una aplicación y la correspondiente configuración server.xml. Consulte el ejemplo siguiente, que muestra la ejecución de una compilación correcta:
Compilación Docker arthurs-mbp:docker-hub arthur$.
Enviando contexto de compilación al demonio de Docker 957.4kB
Paso 1/4 : FROM websphere-liberty:kernel
---> 3fd79ff460ff
Paso 2/4 : COPY server.xml /config/
---> Usando caché
---> a0e43965425f
Paso 3/4 : COPY airlines.war /config/apps/
---> Usando caché
---> dfc6aee86df5
Paso 4/4 : RUN installUtility install --acceptLicense defaultServer
---> Usando caché
---> d5ab21decab4
Se ha compilado satisfactoriamente d5ab21decab4
arthurs-mbp:docker-hub arthur$
- Inicie sesión con el ID de usuario y la contraseña de Docker. Cuando inicie sesión en Docker Hub, se mostrará una salida similar a la del ejemplo siguiente:
arthurs-mbp:docker-hub arthur$ docker login
Inicie sesión con el ID de Docker para distribuir y extraer imágenes de Docker Hub. Si no tiene un ID de Docker, vaya a https://hub.docker.com para crear uno.
Nombre de usuario: arthurdm
Contraseña:
Inicio de sesión satisfactorio
arthurs-mbp:docker-hub arthur$
- Después de que finalice la compilación, cree la etiqueta para la imagen. Esta etiqueta representa el nombre a través del cual se hace referencia a esta imagen en el registro. Consulte el ejemplo siguiente:
arthurs-mbp:docker-hub arthur$ docker tag d5ab21decab4 arthurdm/websphere-liberty
- Distribuya la imagen en el repositorio de Docker Hub, haciendo que sea pública para que se pueda descargar y ejecutar. Consulte el ejemplo siguiente:
arthurs-mbp:docker-hub arthur$ docker push arthurdm/websphere-liberty
La distribución se refiere a un repositorio [docker.io/arthurdm/websphere-liberty]
c2eefa54fcc7: La capa ya existe
09fa033b42e3: La capa ya existe
753266ce94a2: La capa ya existe
0a76debd7d35: La capa ya existe
d86dd55017f1: La capa ya existe
d5e2acba7cce: La capa ya existe
eefb3f013a83: La capa ya existe
28fca5e92849: La capa ya existe
3e60706b7714: La capa ya existe
1a39a1088d6e: La capa ya existe
73e5d2de6e3e: La capa ya existe
08f405d988e4: La capa ya existe
511ddc11cf68: La capa ya existe
a1a54d352248: La capa ya existe
9d3227c1793b: La capa ya existe
más reciente: resumen: sha256:9e41f2a269360fbd0ff926434ab4df38cce49aa83442b1a38eaf13049cb164b2 tamaño: 3453
arthurs-mbp:docker-hub arthur$
Qué hacer a continuación
Tras distribuir la aplicación en el repositorio, instale la aplicación en el entorno de IBM Cloud Private especificando la imagen, arthurdm/websphere-liberty. Esta instalación se completa a través del diagrama Helm.