Giter VIP home page Giter VIP logo

cloud-lab's Introduction

PRÁCTICAS MÓDULO CLOUD

Build Status

Docker Image --> https://hub.docker.com/r/jtrillo/masterlemon7-cloud-lab

AWS Instance --> Práctica ya evaluada. Instancia eliminada.

Preparación

  • Cuenta de Docker Hub
  • Cuenta de AWS
  • Haz un fork de este repositorio

Práctica 1

Dado este proyecto en NodeJS, crea su Dockerfile sabiendo que nos han pedido como imagen base ubuntu:18.04, versión 10 de NodeJS, el 8888 será el puerto donde exponga la comunicación la applicación, la señal de STOP debe llegarle a la aplicación y el contenedor podría ser iniciado con cualquier proceso.

Solución Práctica 1

Ver Dockerfile.

Práctica 2

Sube la imagen de Docker a DockerHub.

Solución Práctica 2

Iniciar sesión en Docker Hub

docker login

Hacer el build de la imagen, tagearla y subirla al registry

docker build -t lab_app .
docker tag lab_app jtrillo/masterlemon7-cloud-lab
docker push jtrillo/masterlemon7-cloud-lab

Ver imagen en Docker Hub.

Práctica 3

Automatiza el proceso de creación de la imagen de Docker y su subida a Docker Hub después de cada cambio en el repositorio utitlizando Travis CI.

Solución Práctica 3

  • Enlazar este repositorio con Travis CI.
  • Añadir las variables de entorno DOCKER_USER y DOCKER_PASSWORD en las opciones de este repositorio en Travis.
  • Hacer un nuevo commit incluyendo el fichero .travis.yml.

Práctica 4

Crea un servidor y despliega la imagen de Docker en AWS utilizando Terraform.

Solución Práctica 4

  • Crear un nuevo usuario en IAM de AWS.
  • Crear un key pair en EC2 de AWS.
  • Descargar Terraform. Descomprimir (unzip terraform.zip) y añadir al PATH (sudo mv terraform /usr/local/bin).
  • Crear carpeta ./terraform y dentro de ella los archivos script.sh y main.tf.
  • Crear las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY con las credenciales del usuario que creamos en el primer paso.
  • Crear el servidor y desplegar la imagen Docker usando Terraform
terraform init
terraform plan
terraform apply

Para eliminar los recursos creados previamente basta con ejecutar el comando terraform destroy.

cloud-lab's People

Contributors

mendrugory avatar jtrillo avatar brauliodiez avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.