Desplegar imagen Docker en AWS

Veamos como desplegar una imagen Docker en AWS Beanstalk, para este ejemplo creamos una aplicación sencilla usando Node y el Framework ExpressJS, añadiremos su respectivo Dockerfile y finalmente, que es lo que realmente nos interesa aprenderemos a desplegar esta app en AWS.

Primero programamos nuestra aplicación web de ejemplo, algo sencillo solo nuestra un mensaje al acceder a la web, para esto usamos ExpressJS de la siguiente manera:

const express = require('express');
const app = express();

const PORT = 3000;
const HOST = '0.0.0.0';

app.get('/', (req, res) => {
 res.send('Hello Node & Docker');
})

app.listen(PORT, HOST);

console.log('Server listen in port: ' + PORT);

Este es el package.json que usamos para nuestro ejemplo:

{
  "name": "docker_aws",
  "version": "1.0.0",
  "description": "Desplegar imagen docker en aws",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "Tutor de programacion",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.4"
  }
}

Lógicamente como el tutorial trata de como hacer el deploy de un proyecto Docker necesitamos crear nuestro Dockerfile, nada del otro mundo, queda de la siguiente manera:

FROM node:8-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]

Desplegar aplicación Docker en AWS

Lo primero que vamos a hacer es dirigirnos a la consola AWS, en el botón de servicios vamos a buscar Beanstalk, hacemos clic sobre él.

AWS Elastic Beanstalk

Cuando estemos allí debemos crear nuestra aplicación, para ello usamos el botón crear aplicación.

Crear app beanstalk

Le damos un nombre y una descripción, presionamos crear.

Nueva app aws

El paso siguiente es configurar el entorno, seleccionamos para que se un entorno web.

Entorno web

Ahora cambiamos la plataforma a Docker, seleccionamos la opción cargar su código y presionamos Crear un entorno.

Configurar para docker

El esta ventana seleccionamos el código de nuestro proyecto, deberá estar comprimido en ZIP, es importante que lo guardemos de tal manera que del Dockerfile quede en la raíz del archivo comprimido, si por ejemplo, dentro del archivo comprimido crear una carpeta y dentro de esta colocar el proyecto AWS no podrá encontrar el Dockerfile y dará error, al final encontrarás el enlace para descargar nuestro ejemplo.

Cargar código fuente

Si todo está correcto veras lo siguiente, puedes acceder a la URL indicada y comprobar de que tu aplicación esta corriendo y se ejecuta de manera adecuada.

AWS listo

Descargar código: Node_Docker.zip.

Comentarios

Publicar un comentario

Temas relacionados

Entradas populares de este blog

tkinter Grid

Controles y Contenedores JavaFX 8 - I

Conectar SQL Server con Java

tkinter Canvas