Continuamos con el tutorial de Docker
Después crearemos un directorio de prueba y public, y luego dos archivos, uno donde estará el código del servicio (app.js) y otro donde estará el código del servidor (server.js). Por último crearemos también los ficheros de configuración de Docker .dockerignore, Dockerfile y index.html dentro de la carpeta public.
1 2 | mkdir test public touch app.js server.js .dockerignore Dockerfile index.htm |
Escribimos los documentos app.js, server.js y index.html
1 2 3 4 5 6 7 8 9 10 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Servidor en ejecución</title> </head> <body> <h1>Servidor ejecutado</h1> </body> </html> |
1 2 3 4 5 6 | const http = require('http'); const app = require('./app'); http.createServer(app).listen(3000); console.log('Ejecutando'); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | const express = require('express'); const app = express(); app.use(express.static(__dirname + '/public')); app.get('/', (req, res) => { return res.sendFile(__dirname + '/public/idnex.html'); }); app.get('/*', (req, res) => { return res.redirect('/'); }); module.exports = app; |
Una vez generados los documentos, ejecutamos el servidor de Node. Puedes ver como instalar node en este artículo, Como instalar un servidor Node.
1 | node server.js |
Esto debería de devolvernos por pantalla el texto ‘ Ejectuando’. Ahora podemos ir nuestro navegador e ir a la URL localhost:3000 para ver nuestro index.html.
Perfecto!!
Si has llegado hasta aquí, ya tienes configurado tu servidor, ahora vamos a escribir una pequeña prueba, para ello creamos el fichero app.test.js en nuestro directorio de test
1 | touch pruebas.test.js |
Y escribimos un pequeño test para estar seguro que mostramos index.html
1 2 3 4 5 6 7 8 9 | const request = require('supertest'); const app = require('../app'); describe('app', function () { it('should serve html on index', (done) => { request(app).get('/').expect('Content-Type', 'text/html; charset=UTF-8').expect(200, done); }); }); |
Y ejecutamos npm test.
Ya tenemos nuestra APP escrita y testada, continúa con el tutorial en Configurar Docker 3/3