Ir a Parte 5: https://naldog.blogspot.com/2019/10/docker-en-windows-parte-5-hola-mundo.html
______________________________
Para este ejercicio, debes tener un archivo WAR de ejemplo. Para los que vienen de .Net es como un paquete con todo el sitio (JSS, CSS, páginas, etc).
Si quieren usan mi ejemplo, pesa 7 megas, es un JSF 2.2 con Primefaces 7:
https://darknromhacking.com/archivos/primefaces.war
Si quieres haces un ejemplo tu mismo, en Eclipse lo creas, pruebas usando un Web Server como Tomcat 9 que es liviano y lo exportas como WAR.
Copiar Archivoshttps://darknromhacking.com/archivos/primefaces.war
Si quieres haces un ejemplo tu mismo, en Eclipse lo creas, pruebas usando un Web Server como Tomcat 9 que es liviano y lo exportas como WAR.
Crea una carpeta en el disco C:\docker\war
Dentro de esa carpeta war copia el primefaces.war o el war que desarrollaste.
Crear DockerFile
Lo primero es el FROM, te dice que imagen bajar de docker hub
Ejemplo, bajará ultima versión de Wildfly
FROM jboss/wildfly
O le puedes dar una versión específica.
FROM jboss/wildfly:10.1.0.Final
El dockerfile agrégale una segunda línea
ADD archivo-local carpeta-remoto
entonces en nuestro caso sería
ADD archivo-local carpeta-remoto
entonces en nuestro caso sería
ADD war/primefaces.war /opt/jboss/wildfly/standalone/deployments/
que copia el archivo war a la carpeta de deploy (esto lo da el WildFly en su sitio oficial https://hub.docker.com/r/jboss/wildfly/)
Por lo tanto, así quedaría nuestro archivo dockerfile
FROM jboss/wildfly
ADD war/primefaces.war /opt/jboss/wildfly/standalone/deployments/
Ejecutar Build
Con PowerShell ir a
CD C:\docker
Luego haz build del dockerfile y colócale un nombre "miwild" y versión 1.0
Luego ejecuta la imagen creando el contenedor usando
docker run -it --name cnt_wild -p 8080:8080 miwild:1.0
En el log se verá que cargó el war. Un punto importante es ver donde dice
context /primefaces
Ya que indica la url de acceso que veremos luego.
Probando
Ve al navegador y primero veamos que levantó Wildfly en ese port 8080:
Ahora la prueba real, ve a la ruta que dijimos arriba en "context"
http://localhost:8080/primefaces/
Y verás la aplicación que yo hice o la tuya si hiciste tu war.
Agregando módulo de Administración de Wildfly
Si queremos que el Wildfly tenga módulo de Admin, para agregar más wars, o deployar más fácilmente, podemos agregar un usuario/clave para esto.
La clave está en leer la documentación oficial: https://hub.docker.com/r/jboss/wildfly/dockerfile
Lo primero es ir a PowerShell y coloca control + C para detener el contenedor anterior.
Luego elimínelo con
docker rm cnt_wild
También elimina la imagen con
docker rmi <id>
Ahora, modifiquemos el dockerfile.
Agreguemos un usuario Admin de wildfly. Para esto usamos RUN.
usuario admin
pass: Admin123 (es para ambiente desarrollo, no es producción, que hay otras formas)
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin123 --silent
Además se debe usar el comando CMD para arrancar Wildfly usando el host 0.0.0.0 tanto para el sitio de aplicaciones (-b ip) como el de administración (-bmanagement ip).
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]
Así quedaría el dockerfile
FROM jboss/wildfly
USER jboss
ADD war/primefaces.war /opt/jboss/wildfly/standalone/deployments/
RUN /opt/jboss/wildfly/bin/add-user.sh admin Admin123 --silent
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", "-bmanagement", "0.0.0.0"]
Build
docker build -t miwild:1.1 .
Ejecutando
Ahora es igual que antes, pero hay que exponer un puerto extra por ejemplo 9990 esto se hace con un segundo -p
docker run -it --name cnt_wild -p 8080:8080 -p 9990:9990 miwild:1.1
Probando Panel Admin
http://localhost:9990
Verás que te pide usuario y clave:
Coloca el usuario y clave que indicamos y accederás al sistema de administración.
Ya aquí puedes jugar, agregar wars, detenerlos, deployar, monitorear, etc.
__________
Esto por hoy, espero les sirva.
Ir a Parte 5: https://naldog.blogspot.com/2019/10/docker-en-windows-parte-5-hola-mundo.html
__________
Esto por hoy, espero les sirva.
Ir a Parte 5: https://naldog.blogspot.com/2019/10/docker-en-windows-parte-5-hola-mundo.html