Dependiendo del sistema operativo que se esté utlizando, se puede consultar la guía de instalación de Docker
en alguno de los siguientes Links:
Para la instalación de Docker Compose
, se puede seguir el siguiente link:
Para verificar que la instalación de docker
se encuentra correcta, ejecute el siguiente comando
$ sudo docker run hello-world
A continuación, se va a utilizar una imagen docker
, que ha sido construida a partir de un proyecto generado con la herramienta kukulkan
, para levantar un servicio web. Para tal finalidad, deberá de guardar el contenido siguiente en un archivo llamado app.yml
:
version: '2'
services:
sfp-app:
image: danimaniarqsoft/sfp:latest
environment:
- SPRING_PROFILES_ACTIVE=dev,swagger
- APP_SLEEP=10
ports:
- 8080:8080
el archivo deberá de quedar en una ruta que le permita a ustede administrar sus imagenes docker; por ejemplo, [HOME]/apps/docker/app.yml
A continuación, se deberá de cambiar a la carpeta en donde guardo el archivo app.yml
y ejecutar el siguiente comando:
$ docker-compose -f app.yml up -d
En la consola, deberá de ver algo parecido a lo siguiente:
sfp-app_1 |
sfp-app_1 | ,---. ,---.
sfp-app_1 | ,---. / .-' ,---. / O \ ,---. ,---.
sfp-app_1 | ( .-' | `-, | .-. | | .-. | | .-. | | .-. |
sfp-app_1 | .-' `) | .-' | '-' ' | | | | | '-' ' | '-' '
sfp-app_1 | `----' `--' | |-' `--' `--' | |-' | |-'
sfp-app_1 | `--' `--' `--'
sfp-app_1 |
sfp-app_1 | 2018-10-26 17:37:13.139 INFO 1 --- [ main] mx.dads.infotec.SfpApp : Starting SfpApp on f1be0839403b with PID 1 (/app.war started by root in /)
sfp-app_1 | 2018-10-26 17:37:13.143 DEBUG 1 --- [ main] mx.dads.infotec.SfpApp : Running with Spring Boot v1.5.9.RELEASE, Spring v4.3.13.RELEASE
sfp-app_1 | 2018-10-26 17:37:13.144 INFO 1 --- [ main] mx.dads.infotec.SfpApp : The following profiles are active: dev,swagger
sfp-app_1 | 2018-10-26 17:37:13.460 DEBUG 1 --- [kground-preinit] org.jboss.logging : Logging Provider: org.jboss.logging.Slf4jLoggerProvider found via system property
sfp-app_1 | 2018-10-26 17:37:15.952 DEBUG 1 --- [ main] m.d.infotec.config.AsyncConfiguration : Creating Async Task Executor
sfp-app_1 | 2018-10-26 17:37:16.766 DEBUG 1 --- [ main] c.ehcache.core.Ehcache-usersByLogin : Initialize successful.
sfp-app_1 | 2018-10-26 17:37:16.780 DEBUG 1 --- [ main] c.ehcache.core.Ehcache-usersByEmail : Initialize successful.
sfp-app_1 | 2018-10-26 17:37:16.956 DEBUG 1 --- [ main] m.d.infotec.config.MetricsConfiguration : Registering JVM gauges
sfp-app_1 | 2018-10-26 17:37:16.973 DEBUG 1 --- [ main] m.d.infotec.config.MetricsConfiguration : Monitoring the datasource
sfp-app_1 | 2018-10-26 17:37:16.973 DEBUG 1 --- [ main] m.d.infotec.config.MetricsConfiguration : Initializing Metrics JMX reporting
sfp-app_1 | 2018-10-26 17:37:17.713 DEBUG 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Registering CORS filter
sfp-app_1 | 2018-10-26 17:37:17.856 INFO 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Web application configuration, using profiles: dev
sfp-app_1 | 2018-10-26 17:37:17.856 DEBUG 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Initializing Metrics registries
sfp-app_1 | 2018-10-26 17:37:17.859 DEBUG 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Registering Metrics Filter
sfp-app_1 | 2018-10-26 17:37:17.860 DEBUG 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Registering Metrics Servlet
sfp-app_1 | 2018-10-26 17:37:17.862 DEBUG 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Initialize H2 console
sfp-app_1 | 2018-10-26 17:37:17.862 INFO 1 --- [ main] mx.dads.infotec.config.WebConfigurer : Web application fully configured
sfp-app_1 | 2018-10-26 17:37:18.625 DEBUG 1 --- [ main] m.d.i.config.DatabaseConfiguration : Configuring Liquibase
sfp-app_1 | 2018-10-26 17:37:18.634 WARN 1 --- [ sfp-Executor-1] i.g.j.c.liquibase.AsyncSpringLiquibase : Starting Liquibase asynchronously, your database might not be ready at startup!
sfp-app_1 | 2018-10-26 17:37:20.267 DEBUG 1 --- [ sfp-Executor-1] i.g.j.c.liquibase.AsyncSpringLiquibase : Liquibase has updated your database in 1632 ms
sfp-app_1 | 2018-10-26 17:37:24.794 DEBUG 1 --- [ main] i.g.j.c.apidoc.SwaggerConfiguration : Starting Swagger
sfp-app_1 | 2018-10-26 17:37:24.804 DEBUG 1 --- [ main] i.g.j.c.apidoc.SwaggerConfiguration : Started Swagger in 9 ms
sfp-app_1 | 2018-10-26 17:37:26.051 INFO 1 --- [ main] mx.dads.infotec.SfpApp : Started SfpApp in 13.977 seconds (JVM running for 14.585)
sfp-app_1 | 2018-10-26 17:37:26.051 INFO 1 --- [ main] mx.dads.infotec.SfpApp :
sfp-app_1 | ----------------------------------------------------------
sfp-app_1 | Application 'sfp' is running! Access URLs:
sfp-app_1 | Local: http://localhost:8080
sfp-app_1 | External: http://172.20.0.2:8080
sfp-app_1 | Profile(s): [dev, swagger]
sfp-app_1 | ----------------------------------------------------------
Nota:
Para tener una mejor administración de sus servicios docker, revisar la documentación oficial en Docker for beginners
El aplicativo se podrá consultar en la url http://localhost:8080 de manera local, en caso de que se encuentre el servidor publicando, entonces lo podrá hacer a través de la url http:[IP_PUBLICA:8080]. El resultado será el siguiente:
Para bajar el servicio que se ha levantado, se debe utilizar el siguiente comando:
$ docker-compose -f app.yml stop