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
- Installare Docker CE
- Installare Docker-Compose
- Configurare il Progetto Nodejs Express
- Costruire il Progetto
- 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-commonOra 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 il pacchetto docker-ce.
sudo apt install docker-ceDopo che l’installazione è completata, avvia il servizio docker e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl start docker
systemctl enable 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 mohammadOra accedi come utente ‘mohammad’ ed esegui il container docker hello-world.
su - mohammad
docker run hello-worldE otterrai il risultato come mostrato qui sotto.

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-composeE l’ultima versione di docker-compose è stata installata, controlla eseguendo il comando docker-compose qui sotto.
docker-compose versionDi seguito è riportato il risultato.

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 - mohammadCrea una nuova directory chiamata ‘project’ e vai in essa.
mkdir -p project
cd projectOra genera una semplice applicazione nodejs hello-world utilizzando il comando ‘express’ qui sotto.
express hakase-appNota:
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’.

Successivamente, costruiremo la nostra immagine docker personalizzata per l’applicazione nodejs ‘hakase-app’.
Sotto la directory ‘project’, crea un nuovo ‘Dockerfile’ usando vim.
vim DockerfileIncolla 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/wwwSalva ed esci.

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.ymlIncolla la seguente configurazione lì.
version: '3'
services:
hakase-app:
build: .
volumes:
- ./hakase-app:/src/hakase-app
ports:
- "3000:3000"
restart: alwaysSalva ed esci.

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 buildOra otterrai il risultato come mostrato qui sotto.

E quando è completo, esegui il servizio docker ‘hakase-app’.
docker-compose up -dDi seguito è riportato il risultato.

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
È stata creata una nuova immagine docker personalizzata per la nostra applicazione Nodejs.
Mostra il servizio docker in esecuzione.
docker-compose ps
docker psL’app Nodejs è attiva e funzionante sulla porta host 3000.
Apri il browser web e digita l’indirizzo IP del server con la porta.
E otterrai la semplice pagina express.
Dockerizzare l’applicazione Nodejs Express su Ubuntu 18.04 è stato completato con successo.
Riferimenti
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.