Distribuire unapplicazione Node.js mediante Docker

Questo articolo mostra come distribuire l'applicazione Node in un contenitore Docker.

Nota: in questa esercitazione si presuppone che Docker sia installato e pronto per l'uso.

Passaggio 1: creare l'applicazione Node

Crea una directory chiamata src. Useremo quella directory. Creare un file denominato src/package.jsoncontenente quanto segue:

{
  "name": "hello_world",
  "private": true,
  "version": "0.0.1",
  "description": "Hello world Example",
  "author": "",
  "dependencies": {
        "express": "3.2.4"
   }
}

Ora crea un src/index.jscontenente quanto segue:

var express = require('express');
var app = express();
app.get('/', function (req, res) {
    res.send('Hello from Docker\n');
});

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

Si prega di sapere che è possibile modificare la porta 8080in qualsiasi cosa si desideri, ma per questo esempio esporremo questa porta da utilizzare per la nostra applicazione. Dopo aver creato questi due file, è possibile procedere al passaggio successivo.

Passaggio 2: creare un file Docker

Un "File Docker" consente di creare e distribuire immagini Docker in base all'insieme di istruzioni fornite al suo interno. Crea un file denominato Dockerfilee popolalo con il seguente contenuto:

FROM centos:latest
MAINTAINER Name Here <username@localhost>
RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y 
COPY ./src /opt/src
RUN cd /opt/src; npm install
EXPOSE 8080
CMD ["node", "/opt/src/index.js"]

Spiegazione:

FROM centos:latest

Questo utilizzerà un'immagine chiamata centos. Se sull'host non è disponibile alcuna immagine, Docker ne estrae una dal suo repository.

MAINTAINER Name Here <username@localhost>

Questa istruzione ti consente di impostare l'autore per l'immagine da creare.

RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y
…
RUN cd /opt/src; npm install

"RUN" eseguirà i comandi della shell forniti. In questo esempio, scaricherà l'eppm-release rpm e lo installerà, e installerà nodejs e npm dal suo repository. Dopo l'operazione successiva, verrà inserito nella directory del progetto ed eseguito npm installper installare dipendenze per l'applicazione.

COPY ./src /opt/src

Copia la directory (e i file) dall'host nel contenitore.

EXPOSE 8080

Porta aperta 8080 per l'utilizzo da parte del mondo esterno.

CMD ["node", "/opt/src/index.js"]

CMD fornirà l'esecuzione predefinita per il contenitore.

Dopo aver creato il file esattamente come mostrato sopra, puoi procedere al passaggio successivo.

Passaggio 3: crea l'immagine

Per creare la tua immagine, esegui il seguente comando:

docker build -t name/application .

Questo creerà un'immagine con un nome di repository di name/application. Se non ci sono errori, puoi procedere al passaggio successivo.

Passaggio 4: distribuire e testare l'applicazione

Ora che tutto è configurato, è possibile eseguire l'immagine eseguendo quanto segue:

docker run -p 49160:8080 -d name/application

Per testare la tua applicazione, esegui il seguente comando dall'host:

curl http://172.17.42.1:49160/ 

Se vedi, Hello from Dockerhai distribuito correttamente l'immagine Docker. Se desideri testarlo con il tuo browser, visita http://[SERVER_IP]:49160dal tuo browser (sostituisci l'indirizzo IP di conseguenza) e vedrai lo stesso messaggio.

Lascia un commento

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.