Javi

Docker: Guión workshop jedai

Mar 13th, 2018
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. - Breve intro a desarrollo, operaciones, producción
  2. - Arquitecturas inmutables y múltiples plataformas
  3. - Docker hub
  4. - Crear cuenta en github
  5. - Crear cuenta en docker hub
  6. - Buscar mysql y explicar detalles asociados
  7. - Solución para dev: https://stackoverflow.com/questions/30740828/commit-data-in-a-mysql-container
  8.  
  9. - Arranca db
  10.  
  11. ```
  12. docker run --name database -e MYSQL_ROOT_PASSWORD=incorrecta -d ciberado/mysql:latest
  13. ```
  14.  
  15. - Descarga sql
  16.  
  17. ```
  18. wget https://pastebin.com/raw/98DaLWwG -O pokemon.sql
  19. ```
  20.  
  21. - explica links
  22. - explica volúmenes
  23. - arranca cliente
  24.  
  25. ```
  26. docker run -it --rm --link database --volume $(pwd):/hostfolder -w /hostfolder mysql mysql -hdatabase -uroot -p
  27. ```
  28.  
  29. - Carga datos
  30.  
  31. ```
  32. > create database pokemondb;
  33. > use pokemondb;
  34. > source pokemon.sql;
  35. > exit
  36. ```
  37.  
  38. - Para contenedor y crea nueva imagen
  39.  
  40. ```
  41. docker ps
  42. docker stop <id contenedor>
  43. docker commit <id contenedor> <docker_hub_username>/pokemondatabase
  44. docker login
  45. docker push <docker_hub_username>/pokemondatabase
  46. ```
  47.  
  48. - Ejecuta otro contenedor ¡tiene los datos!
  49.  
  50. ```
  51. docker run --name database_pokemon -e MYSQL_ROOT_PASSWORD=incorrecta -d <docker_hub_username>/pokemondatabase
  52. docker run -it --rm --link database_pokemon mysql mysql -hdatabase_pokemon -uroot -p
  53. ```
  54.  
  55. > show databases;
  56. > use pokemondb;
  57. > select * from pokemon;
  58. > exit
  59.  
  60. - Obtenemos el código de la aplicación
  61.  
  62. ```
  63. git clone https://github.com/ciberado/pokemon
  64. cd pokemon
  65. git checkout jpa
  66. ```
  67.  
  68. - Examinar Dockerfile
  69. - Crear la imagen y subirla a docker hub
  70.  
  71. ```
  72. docker build -t <docker_hub_username>/pokemon:0.0.5 .
  73. docker login
  74. docker push <docker_hub_username>/pokemon:0.0.5
  75. ```
  76.  
  77. - Probar la aplicación con ambos contenedores
  78.  
  79. ```
  80. docker run -it --rm --link database_pokemon -p 8080:8080 <docker_hub_username>/pokemon:0.0.5 --spring.profiles.active=mysql --spring.datasource.url=jdbc:mysql://database_pokemon/pokemondb
  81. ```
  82.  
  83. - Pararlo todo
  84. - Examinar docker-compose.yml
  85. - Lanzarla con un solo docker-compose:
  86.  
  87. ```
  88. docker-compose up
  89. ```
  90.  
  91. - Eliminar el repositorio del docker hub.
  92. - Clonar el repositorio https://github.com/ciberado/pokemon
  93. - Crear un autobuild sobre la rama jpa con el tag 0.0.5
  94. - Forzar la ejecución del autobuild
  95.  
  96. - Eliminar todo y crear un clúster swarm
  97. - Desplegar en el clúster
  98.  
  99. ```
  100. git clone https://github.com/ciberado/pokemon
  101. cd pokemon
  102. git checkout jpa
  103.  
  104. docker stack deploy --compose-file docker-compose.yml demo
  105. ```
Advertisement
Add Comment
Please, Sign In to add comment