Get it on Google Play
Mas de 21 años en el mundo del IT corporativo

Formación Docker: Creando imágenes para nuestros microservicios y dockerizar aplicaciones

13-11-2019

En este capítulo hemos explicado que es un fichero ‘Dockerfile’ y como usarlo para automatizar la creación de imágenes. Aquí os dejo los distintos ficheros editados durante el vídeo:

Aplicación NodeJS

El primer fichero de la aplicación NodeJS(package.json) es el que lleva información de la aplicación(Autor, nombre, etc.) e información sobre dependencias, como arrancar, etc.

{
  "name": "docker_web_app",
  "version": "1.0.0",
  "description": "Node.js on Docker",
  "author": "Yo mismo",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.13.3"
  }
}

El segundo fichero es la aplicación en si, básicamente es un script que arranca un servidor web por el puerto 8080 y cada vez que recibe una petición hace un ping a Google y devuelve el resultado:

'use strict';

const express = require('express');
const exec = require('child_process').execSync;

// Constants
const PORT = 8080;

// App
const app = express();
app.get('/', function (req, res) {
  var result=""+exec( "ping -c 1 google.com" );

  while ( result.indexOf("\n")!=-1 )
	result=result.replace("\n","<br/>");

  res.send( '<h1>Test ping</h1>'+result );
});

app.listen(PORT);
console.log('Running on http://localhost:' + PORT);

Dockerfile para dockerizar la aplicación

Ahora, ya con una aplicación dockerizable podemos meterla dentro de una imagen para lanzar tantos contenedores como queramos. Aquí os dejo el fichero que hemos utilizado en el vídeo:

FROM node:argon

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY package.json /usr/src/app
COPY server.js /usr/src/app

RUN npm install 

EXPOSE 8080
CMD ["npm","start"]
Dockerfile

Dockerfile

Si te ha servido, por favor comparte

Interesado en formación Docker?

 

Leave a Reply