In questa guida, ti guideremo attraverso come puoi creare un'app Nodejs su Docker. Imparerai come creare un'applicazione demo Nodejs sul tuo server e successivamente spingerla a Docker Hub. In questa guida, stiamo usando Ubuntu 18.04 LTS per il nostro ambiente di test.
Allora perché qualcuno dovrebbe voler spingere le proprie applicazioni su Docker? Come abbiamo visto in precedenza, Docker spedisce applicazioni in contenitori che raggruppano le librerie e le dipendenze. Ciò costituisce un ambiente a tutti gli effetti per la distribuzione delle applicazioni. Inoltre, il collegio elettorale dell'ambiente di sviluppo garantisce che l'applicazione funzioni allo stesso modo attraverso molti sviluppatori e macchine clienti.
Prerequisiti per lo sviluppo di Docker Nodejs
Questa guida presuppone che tu abbia una conoscenza pratica di Docker e anche una certa familiarità con la struttura di un'applicazione Nodejs.
Prima di andare oltre, assicurati che quanto segue sia installato sul tuo ambiente di test:
Ora ci sporgemo le mani.
Passaggio 1: crea un nodo.Applicazione JS
Innanzitutto, inizia creando un'applicazione Nodejs. Creeremo una nuova directory e quindi navigeremo al suo interno come mostrato.
$ mkdir mynode-app && cd mynode-app
Quindi utilizzare NPM, abbreviazione per i pacchetti di Nodejs, per inizializzare la directory.
$ npm init
Il comando crea un file chiamato pacchetto.JSON . Ti verrà richiesto i dettagli del file JSON come nome, versione, descrizione, parole chiave e l'autore per menzionare solo alcuni.
All'estremità stessa sì per confermare i dettagli preferiti del file JSON.
Successivamente, aggiungi il framework Express eseguendo il comando:
$ npm Installa Express -Save
Dovresti ottenere un output come mostrato di seguito
Passaggio 2: crea un nodo.Applicazione JS
In questo passaggio, dobbiamo creare file necessari per l'applicazione Nodejs. Creiamo 2 file di esempio come segue:
Per il indice.js File, copia e incolla il contenuto di seguito:
const express = requisite ('express')
const app = express ()
app.get ('/', (req, res) =>
res.SendFile ('$ __ DirName/Index.html ')
)
app.Ascolta (3000, () =>
console.registro ('Ascoltare sulla porta 3000!')
)
Il file crea un percorso per l'indice.File HTML che ascolterà sulla porta 3000
Per l'indice.file html, incolla la seguente configurazione
Ora siamo pronti per avviare l'app Nodejs.
Passaggio 3: eseguire l'applicazione Nodejs
Per avviare l'applicazione, basta emettere il comando
$ nodo indice.js
Dall'output, possiamo vedere che l'applicazione sta ascoltando sulla porta 3000. Per confermarlo, apri il browser e sfoglia l'IP del server come mostrato
http: // Ip-Address: 3000
Passaggio 4: dockerizza l'applicazione Nodejs
Successivamente, creeremo un file Docker
$ touch Dockerfile
Successivamente, incolla la configurazione di seguito
Dal nodo: carbonio
Workdir/usr/src/app
Copia pacchetto*.JSON ./
Esegui l'installazione NPM
COPIA…
Esporre 3000
Cmd ["nodo", "indice.js "]
Abbattiamo questo:
La prima riga mostra che intendiamo utilizzare l'ultima versione del nodo per creare la nostra immagine. Nodo.JS di solito utilizza elementi chimici per nominare le versioni LTS sul nodo.
La seconda riga indica la creazione del /usr/src/app directory che ospiterà il codice dell'applicazione nell'immagine.
Le righe 3 e 4 dirigono la copia del pacchetto.file json e l'esecuzione del Installazione NPM comando
COPIA… Questo pacchetto l'applicazione Nodejs - comprendente i file HTML e JS - nell'immagine Docker.
Esporre 3000 Questo definisce la porta che l'app Nodejs utilizzerà
Cmd ["nodo", "indice.JS ”] Questo visualizza il comando che deve essere eseguito per l'avvio dell'applicazione.
Passaggio 5. Costruisci il nodo.Applicazione JS
Dopo aver creato il file Docker, ora creeremo l'app Nodejs utilizzando il comando di seguito. Essere desideroso di includere uno spazio e un periodo alla fine come mostrato. L'opzione -t ci aiuta a taggare l'immagine per semplificarla di individuarla quando eseguiamo il Immagini Docker comando.
$ Docker build -t mynode -app .
Per confermare l'esistenza dell'immagine, eseguire il comando:
$ Docker Immagini
Passaggio 6. Esecuzione del contenitore Docker
Con la nostra immagine pronta, ora avvialo usando il comando:
# Docker run -p 8080: 3000 -D nodo -app
Il comando indirizzerà l'applicazione per ascoltare la porta 8080 anziché la porta 3000. Per confermare questo, aprire il browser e sfogliare l'URL del server come mostrato
http: // Ip-Address: 8080
Passaggio 7. Spingendo l'applicazione a Docker Hub
Questo è l'ultimo passo che ha già creato la nostra applicazione e ha assicurato che tutto funzioni come previsto.
Prima di procedere, assicurati di aver creato un account su Docker Hub
Quindi, crea ancora una volta l'immagine usando le credenziali Docker
# Docker build -t [nome utente]/tag .
Il nome utente è il tuo nome utente di accesso a hub Docker e il tag è il tag dell'applicazione. Nel mio caso, il comando sarà mostrato
# Docker build -t jayarthur/mynode -app .
Ora accedi a Docker Hub a mostrato.
# Docker Login
Fornisci il tuo nome utente e password e premi Invio
L'unica cosa rimasta ora è spingere l'immagine nell'hub Docker. Per raggiungere questo obiettivo, eseguire il comando:
# Docker Push Jayarthur/Mynode-app
Infine, accedi al tuo hub Docker e conferma l'esistenza dell'immagine dell'applicazione.
E questo ci porta la fine di questo tutorial. Sentiti libero di contattare il tuo feedback. Grazie.