Docker Guide · 4 min read · Feb 05, 2026

Guida Docker: Dockerizzare un'applicazione Nodejs Express su Ubuntu 18.04

Docker è un progetto open-source che fornisce una piattaforma aperta per sviluppatori e sysadmin per costruire, impacchettare e eseguire applicazioni ovunque come un container leggero. Docker automatizza il deployment delle applicazioni all’interno di container software.

Nodejs è un ambiente di esecuzione JavaScript open source. È un ambiente multi-piattaforma, può essere installato su Linux, Windows, MacOS, FreeBSD, ecc. Nodejs è molto utile per costruire sia applicazioni server che desktop.

In questo tutorial, ti mostrerò come creare un’immagine docker per un progetto esistente di applicazione Nodejs Express su Ubuntu 18.04. Impareremo a dockerizzare un’applicazione Nodejs e poi a distribuire l’applicazione come un container nell’ambiente docker utilizzando uno script docker-compose.

Requisiti

  • Ubuntu 18.04
  • Privilegi di root

Cosa faremo

  1. Installare Docker CE
  2. Installare Docker-Compose
  3. Configurare il Progetto Nodejs Express
  4. Costruire il Progetto
  5. Testare

Passo 1 - Installare Docker CE

In questo tutorial, installeremo l’edizione community docker-ce dal repository docker. Installeremo l’edizione community docker-ce e docker-compose che supporta la versione 3 del file compose.

Prima di installare docker-ce, installa le dipendenze di docker necessarie utilizzando il comando apt.

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

Ora aggiungi la chiave e il repository docker eseguendo i comandi qui sotto.

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"

Installa Docker

Installa il pacchetto docker-ce.

sudo apt install docker-ce

Dopo che l’installazione è completata, avvia il servizio docker e abilitalo per avviarsi ogni volta all’avvio del sistema.

systemctl start docker  
systemctl enable docker

Avvia Docker

Successivamente, daremo ai normali utenti i privilegi per eseguire e gestire i container docker.

Aggiungi un nuovo utente di nome ‘mohammad’ e aggiungilo al gruppo docker.

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

Ora accedi come utente ‘mohammad’ ed esegui il container docker hello-world.

su - mohammad  
docker run hello-world

E otterrai il risultato come mostrato qui sotto.

Aggiungi utente e testa l'utente

Passo 2 - Installare Docker-Compose

In questo passo, installeremo docker-compose manualmente dal file binario che può essere scaricato da GitHub. Installeremo l’ultima versione di docker-compose che supporterà la v3 del compose.

Scarica l’ultima versione 1.22.0 di docker-compose utilizzando il comando curl nella directory ‘/usr/local/bin’, e poi rendilo eseguibile usando chmod.

Esegui i comandi qui sotto.

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

E l’ultima versione di docker-compose è stata installata, controlla eseguendo il comando docker-compose qui sotto.

docker-compose version

Di seguito è riportato il risultato.

Installa Docker Compose

Passo 3 - Configurare il Progetto Nodejs Express

In questa sezione, configureremo l’ambiente dell’applicazione Nodejs. Useremo una semplice applicazione nodejs che può essere generata utilizzando ‘express-generator’.

Accedi come utente ‘mohammad’.

su - mohammad

Crea una nuova directory chiamata ‘project’ e vai in essa.

mkdir -p project  
cd project

Ora genera una semplice applicazione nodejs hello-world utilizzando il comando ‘express’ qui sotto.

express hakase-app

Nota:

Assicurati che nodejs, npm e i pacchetti ‘express-generator’ siano stati installati sul sistema.

E otterrai la semplice app nodejs express nella directory ‘hakase-app’.

Installa Progetto Nodejs Express

Successivamente, costruiremo la nostra immagine docker personalizzata per l’applicazione nodejs ‘hakase-app’.

Sotto la directory ‘project’, crea un nuovo ‘Dockerfile’ usando vim.

vim Dockerfile

Incolla la seguente configurazione dell’immagine docker lì.

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

Salva ed esci.

Usa npm per installare l'applicazione

Stiamo creando una nuova immagine docker personalizzata per la nostra applicazione nodejs con le specifiche qui sotto.

  • L’immagine personalizzata è basata sull’immagine ufficiale nodejs versione 8.11.4 alpine.
  • Stiamo creando una nuova directory per il nostro progetto ‘/src’.
  • Installa l’’express-generator’ nell’immagine personalizzata.
  • Aggiungi il file ‘package.json’ che contiene il profilo dell’applicazione e i pacchetti necessari nella directory ‘/src’.
  • Installa tutti i pacchetti nodejs necessari per il progetto, basati sul file ‘package.json’.
  • Esporta la porta 3000 con il comando di avvio predefinito ‘node hakase-app/bin/www’.

Successivamente, costruiremo l’immagine personalizzata basata sullo script docker-compose.

Crea un nuovo file yml ‘docker-compose.yml’ usando vim.

vim docker-compose.yml

Incolla la seguente configurazione lì.

version: '3'

services:

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

Salva ed esci.

Crea file yml docker compose

Stiamo creando un nuovo servizio docker chiamato ‘hakase-app’, e nello stesso tempo stiamo costruendo l’immagine docker personalizzata basata sul ‘Dockerfile’ nella directory del progetto e monteremo automaticamente i file dell’applicazione hakase-app.

La configurazione di Nodejs Express è stata completata.

Passo 4 - Costruire ed Eseguire il Progetto

Accedi come utente ‘mohammad’ e vai nella directory ‘project’

su - mohammad  
cd project/

Costruisci l’immagine e crea il servizio docker hakase-app utilizzando il comando docker-compose qui sotto.

docker-compose build

Ora otterrai il risultato come mostrato qui sotto.

Costruisci progetto docker

E quando è completo, esegui il servizio docker ‘hakase-app’.

docker-compose up -d

Di seguito è riportato il risultato.

Usa docker-compose up

L’immagine docker personalizzata per la nostra applicazione Nodejs è stata creata, e il servizio docker hakase-app è attivo e funzionante.

Passo 5 - Testare

Mostra le immagini docker disponibili sul server.

docker-compose images  
docker images

Mostra immagini docker disponibili

È stata creata una nuova immagine docker personalizzata per la nostra applicazione Nodejs.

Mostra il servizio docker in esecuzione.

docker-compose ps  
docker ps

L’app Nodejs è attiva e funzionante sulla porta host 3000.

Apri il browser web e digita l’indirizzo IP del server con la porta.

http://10.0.15.2:3000/

E otterrai la semplice pagina express.

Dockerizzare l’applicazione Nodejs Express su Ubuntu 18.04 è stato completato con successo.

Riferimenti

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.