Aplicación Dockerizing Nodejs Express en Ubuntu 18.04

Instalar ventana acoplable

Docker es un proyecto de código abierto que proporciona una plataforma abierta para desarrolladores y administradores de sistemas para crear, empaquetar y ejecutar aplicaciones en cualquier lugar como un contenedor ligero. Docker automatiza la implementación de aplicaciones dentro de contenedores de software.

Nodejs es un entorno de tiempo de ejecución de JavaScript de código abierto. Es un tiempo de ejecución multiplataforma, se puede instalar en Linux, Windows, MacOS, FreeBSD, etc. Nodejs es muy útil para crear aplicaciones de servidor y de escritorio.

En este tutorial, le mostraré cómo crear una imagen acoplable para un proyecto de aplicación Nodejs Express existente en Ubuntu 18.04. Aprenderemos a acoplar una aplicación de Nodejs y luego implementaremos la aplicación como un contenedor en el entorno de la ventana acoplable mediante un script de composición de la ventana acoplable.

requisitos previos

  • Ubuntu 18.04
  • Privilegios de raíz

Lo que haremos

  1. Instalar Docker CE
  2. Instalar Docker-Compose
  3. Configurar el proyecto Nodejs Express
  4. Construya el proyecto
  5. Pruebas

Paso 1 – Instalar Docker CE

En este tutorial, instalaremos la edición comunitaria de docker-ce desde el repositorio de docker. Instalaremos la edición comunitaria docker-ce y docker-compose que admite la versión 3 del archivo de composición.

Antes de instalar docker-ce, instale las dependencias de docker necesarias con el comando apt.

sudo apt install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

Ahora agregue la clave de la ventana acoplable y el repositorio ejecutando los comandos a continuación.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Instalar ventana acoplable

Instale el paquete docker-ce.

sudo apt install docker-ce

Una vez completada la instalación, inicie el servicio docker y habilítelo para que se inicie cada vez que se inicia el sistema.

systemctl start docker
systemctl enable docker

Iniciar ventana acoplable

A continuación, otorgaremos privilegios de usuario normales para ejecutar y administrar el contenedor docker.

Agregue un nuevo usuario llamado ‘mohammad’ y agréguelo al grupo docker.

useradd -m -s /bin/bash mohammad
usermod -a -G docker mohammad

Ahora inicie sesión como el usuario ‘mohammad’ y ejecute el contenedor docker hello-world.

su - mohammad
docker run hello-world

Y obtendrá el resultado como se muestra a continuación.

Agregar usuario y probar el usuario

Paso 2 – Instalar Docker-Compose

En este paso, instalaremos docker-compose manualmente desde el archivo binario que se puede descargar desde GitHub. Instalaremos la última versión de docker-compose que será compatible con compose v3.

Descargue la última versión 1.22.0 de docker-compose usando el comando curl en el directorio ‘/usr/local/bin’ y luego hágalo ejecutable usando chmod.

Ejecute los comandos a continuación.

sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Y se ha instalado la última versión de docker-compose, compruébelo ejecutando el comando docker-compose a continuación.

docker-compose version

El siguiente es el resultado.

Instalar Docker Compose

Paso 3: configurar el proyecto Nodejs Express

En esta sección, configuraremos el entorno de la aplicación Nodejs. Usaremos una aplicación nodejs simple que se puede generar usando el ‘express-generator’.

Inicie sesión con el usuario ‘mohammad’.

su - mohammad

Cree un nuevo directorio llamado ‘proyecto’ y vaya a él.

mkdir -p project
cd project

Ahora genere una aplicación nodejs de hola-palabra simple usando el comando ‘express’ a continuación.

express hakase-app

Nota:

Asegúrese de que nodejs, npm y los paquetes ‘express-generator’ se hayan instalado en el sistema.

Y obtendrá la sencilla aplicación nodejs express en el directorio ‘hakase-app’.

Instalar el proyecto Nodejs Express

A continuación, crearemos nuestra imagen acoplable personalizada para la aplicación nodejs ‘hakase-app’.

En el directorio ‘proyecto’, cree un nuevo ‘Dockerfile’ usando vim.

vim Dockerfile

Pegue la siguiente configuración de imagen de la ventana acoplable allí.

FROM node:8.11.4-alpine

RUN mkdir -p /src
RUN npm install express-generator -g

WORKDIR /src
ADD hakase-app/package.json /src/package.json
RUN npm install

EXPOSE 3000
CMD node hakase-app/bin/www

Guardar y Salir.

Usar npm para instalar la aplicación

Estamos creando una nueva imagen acoplable personalizada para nuestra aplicación nodejs con las especificaciones a continuación.

  • La imagen personalizada se basa en la versión alpina oficial de nodejs image 8.11.4.
  • Estamos creando un nuevo directorio para nuestro proyecto ‘/src’.
  • Instale el ‘express-generator’ en la imagen personalizada.
  • Agregue el archivo ‘package.json’ que contiene el perfil de la aplicación y los paquetes necesarios al directorio ‘/src’.
  • Instale todos los paquetes de nodejs necesarios para el proyecto, según el archivo ‘package.json’.
  • Exporte el puerto 3000 con el comando de inicio exec predeterminado ‘node hakase-app/bin/www’.

A continuación, construiremos la imagen personalizada basada en el script docker-compose.

Cree un nuevo archivo yml ‘docker-compose.yml’ usando vim.

vim docker-compose.yml

Pegue la siguiente configuración allí.

version: '3'

services:

  hakase-app:
    build: .
    volumes:
      - ./hakase-app:/src/hakase-app
    ports:
      - "3000:3000"
    restart: always

Guardar y Salir.

Crear docker componer archivo yml

Estamos creando un nuevo servicio docker llamado ‘hakase-app’ y, al mismo tiempo, estamos creando la imagen personalizada de docker basada en el ‘Dockerfile’ en el directorio del proyecto y montaremos automáticamente los archivos de la aplicación hakase-app.

La configuración rápida de Nodejs se ha completado.

Paso 4: compilar y ejecutar el proyecto

Inicie sesión como usuario ‘mohammad’ y vaya al directorio ‘proyecto’

su - mohammad
cd project/

Compile la imagen y cree la aplicación docker service hakase-app usando el comando docker-compose a continuación.

docker-compose build

Ahora obtendrá el resultado como se muestra a continuación.

Construir proyecto docker

Y cuando esté completo, ejecute el servicio docker ‘hakase-app’.

docker-compose up -d

El siguiente es el resultado.

Usar docker-compose up

Se creó la imagen de la ventana acoplable personalizada para nuestra aplicación Nodejs y el servicio de la ventana acoplable hakase-app está en funcionamiento.

Paso 5 – Prueba

Muestra la imagen acoplable disponible en el servidor.

docker-compose images
docker images

Mostrar imagen acoplable disponible

Se ha creado una nueva imagen de ventana acoplable personalizada para nuestra aplicación Nodejs.

Muestra el servicio Docker en ejecución.

docker-compose ps
docker ps

Mostrar el servicio docker en ejecución

La aplicación Nodejs está funcionando en el puerto de host 3000.

Abra el navegador web y escriba la dirección IP del servidor con el puerto.Publicidad

http://10.0.15.2:3000/

Y obtendrá la página express simple.

la pagina esta funcionando

La aplicación Dockerizing Nodejs Express en Ubuntu 18.04 se completó con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *