Docker e la containerizzazione delle app: ovvero l’arte di renderle portatili ed inoffensive per la sicurezza dell’intiero sistema ;)

Cari lettori di R.I. se creiamo un livello di astrazione aggiuntivo in cui le nostre app possano girare, a fronte di qualche piccolo possibile rallentamento (che tenderà a 0 con una buona progettazione/ottimizzazione) otteniamo due vantaggi notevoli: isoliamo quella app (e i suoi potenziali malware/bug all’interno del sistema) e la rendiamo portatile potendola spostare da un sistema operativo all’altro con un copia/incolla.

Per far tutto ciò, esistono vari software, oggi poniamo l’attenzione su: Docker

Docker è una tecnologia di containerizzazione open-source che consente di eseguire applicazioni in modo isolato e portatile su diversi ambienti, come ad esempio su un computer locale, in un ambiente di sviluppo, in un server di produzione o in un ambiente cloud.

Un container Docker è un’istanza eseguibile di un’immagine Docker, che include tutto il necessario per eseguire l’applicazione, compresi i file, le librerie e le dipendenze. I container Docker offrono appunto, come detto, vantaggi quali, oltre alla sopracitata portabilità, anche la scalabilità e la gestione semplificata delle applicazioni “dockerizzate”, quasi fossero dei semplici files.

In sintesi, Docker è uno strumento che semplifica il processo di sviluppo, distribuzione e gestione di applicazioni, fornendo un’infrastruttura standardizzata e isolata.

Ok, questa la teoria. Ma dimmi di più a livello tecnico!

I contenitori Docker sono basati su un’immagine Docker, che viene creata utilizzando un file di configurazione chiamato Dockerfile. L’immagine Docker contiene tutti i file e le configurazioni necessarie per eseguire l’applicazione in un ambiente isolato.
Per utilizzare Docker, devi prima installare il software Docker Engine sul tuo computer. Puoi trovare le istruzioni di installazione per il tuo sistema operativo sul sito web di Docker, ovvero: https://www.docker.com

Una volta installato puoi creare un contenitore Docker utilizzando un’immagine Docker esistente o creandone una personalizzata utilizzando un Dockerfile. Puoi scaricare un’immagine di un software esistente già bell’e che pronto, dall’hub Docker utilizzando il comando “docker pull“, ad esempio:

docker pull nginx
Questo scaricherà l’immagine “nginx” dall’hub Docker.

Puoi quindi avviare un contenitore basato su questa immagine utilizzando il comando “docker run”, ad esempio:

docker run -d -p 8080:80 nginx
Questo avvierà un contenitore basato sull’immagine “nginx” e lo eseguirà in background (-d). Inoltre, mappa la porta 8080 del tuo computer sulla porta 80 del contenitore (-p 8080:80).

Puoi gestire i tuoi contenitori Docker utilizzando una serie di comandi, ad esempio:

“docker ps” per visualizzare i contenitori in esecuzione
“docker stop” per fermare un contenitore in esecuzione
“docker rm” per rimuovere un contenitore esistente

Va solo su Windows?

Docker è una tecnologia multi-piattaforma e supporta numerosi sistemi operativi e architetture hardware. Ecco una lista dei sistemi operativi supportati (controlla il sito per eventuali update):

  • Linux (inclusi CentOS, Debian, Fedora, Ubuntu, Red Hat Enterprise Linux)
  • Windows Server 2019 e versioni successive
  • macOS
  • AWS, Azure e Google Cloud Platform

Inoltre, Docker supporta numerose architetture hardware, tra cui:

  • x86-64 (64 bit) (e questo mi par il minimo 😉
  • ARMv7 e ARMv8 (32 e 64 bit)
  • IBM Z e LinuxONE

Ciò significa che Docker può essere utilizzato su una vasta gamma di piattaforme e architetture hardware, il che lo rende una soluzione flessibile e versatile per la containerizzazione delle applicazioni. Prossimamente approfondiremo ulteriormente l’argomento!

Ti è piaciuto l’articolo? Per suggerimenti, lavori, proposte, contattami!

Articolo creato 44

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli correlati

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto