Cos'è Docker?

Docker permette di creare, testare e distribuire applicazioni con la massima rapidità

Docker è una piattaforma software che permette di creare, testare e distribuire applicazioni con la massima rapidità. Docker raccoglie il software in unità standardizzate chiamate container che offrono tutto il necessario per la loro corretta esecuzione, incluse librerie, strumenti di sistema, codice e runtime. Con Docker, è possibile distribuire e ricalibrare le risorse per un'applicazione in qualsiasi ambiente, tenendo sempre sotto controllo il codice eseguito.

L’esecuzione di Docker in AWS offre a sviluppatori e amministratori un modo altamente affidabile e poco costoso per creare, spedire ed eseguire applicazioni distribuite su qualsiasi scala.

Annunci recenti: Docker collabora con AWS per aiutare gli sviluppatori a velocizzare la transizione di applicazioni moderne al cloud. Questa collaborazione aiuta gli sviluppatori che utilizzano Docker Compose e Docker Desktop a ricorrere allo stesso flusso di lavoro locale odierno per distribuire applicazioni in Amazon ECS e AWS Fargate senza soluzione di continuità. Per ulteriori informazioni, consulta il Blog.

Come funziona Docker

Docker fornisce una modalità standard per eseguire il tuo codice. Si tratta di un sistema operativo per container. Così come la macchina virtuale virtualizza i server hardware (ovvero elimina la necessità di gestirli direttamente), i container virtualizzano il sistema operativo di un server. Docker è installato su ogni server e fornisce semplici comandi con cui creare, avviare o interrompere i container.

I Servizi AWS come AWS Fargate, Amazon ECSAmazon EKS e AWS Batch semplificano l'esecuzione e la gestione dei container Docker su larga scala.

Perché usare Docker

Docker permette di distribuire il codice più rapidamente, standardizzare il funzionamento delle applicazioni, trasferire il codice in modo ottimizzato e risparmiare denaro migliorando l'utilizzo delle risorse. Con Docker è possibile ottenere un singolo oggetto che può essere eseguito in modo affidabile in qualsiasi posizione. La sua sintassi è semplice e permette di tenere le risorse sotto controllo. Il fatto che sia già diffuso significa che offre un ecosistema di strumenti e applicazioni pronte all'uso.

Distribuzione più rapida di software

Gli utenti di Docker in media distribuiscono software con una frequenza 7 volte maggiore rispetto a chi non utilizza Docker. Permette infatti di distribuire servizi isolati con qualsiasi frequenza.

Funzionamento standardizzato

L'uso di container per le piccole applicazioni semplifica la distribuzione, l'identificazione dei problemi e il rollback per il ripristino.

Trasferimenti ottimizzati

Le applicazioni basate su Docker possono essere spostate in modo facile da computer di sviluppo locali a distribuzioni di produzione in AWS.

Spese ridotte

I container Docker semplificano l'esecuzione di codice sui server, migliorandone i livelli di utilizzo e contribuendo a risparmiare soldi.

Quando usare Docker

I container Docker possono essere utilizzati come elementi base per creare applicazioni e piattaforme moderne. Docker semplifica la creazione e l'esecuzione di architetture di microservizi distribuite, la distribuzione di codice con pipeline di integrazione e distribuzione standardizzate continue, la creazione di sistemi di elaborazione dati altamente scalabili e la creazione di piattaforme completamente gestite per gli sviluppatori. La recente collaborazione tra AWS e Docker semplifica la distribuzione dei manufatti Docker Compose in Amazon ECS e AWS Fargate. 

Microservizi

Le distribuzioni standardizzate di codice garantite dai container Docker permettono la creazione e il dimensionamento di architetture di applicazioni distribuite.

Integrazione e distribuzione continue

Accelera la distribuzione delle applicazioni grazie alla creazione di ambienti standard e all'eliminazione dei conflitti tra versioni e stack di linguaggi.

Elaborazione dati

Offri l'elaborazione di Big Data come servizio. Inserisci pacchetti di analisi e dati in contenitori portabili che possono essere eseguiti dagli utenti meno esperti.

Contenitori come servizio

Crea e fornisci applicazioni distribuite con contenuti e infrastruttura gestiti dall'IT e protetti.

Domande frequenti su Docker

D: Cosa è possibile fare con Docker?

Con Docker, è possibile distribuire e ricalibrare le risorse per un'applicazione in qualsiasi ambiente, tenendo sempre sotto controllo il codice eseguito. Docker, infatti, raccoglie il software in unità standardizzate chiamate container che offrono tutto il necessario per la loro corretta esecuzione, incluse librerie, strumenti di sistema, codice e runtime.

D: Cosa si intende per immagine Docker?

Un'immagine Docker è un modello in sola lettura che definisce il container. L'immagine contiene il codice che verrà eseguito, incluse le definizioni per librerie e dipendenze necessarie. Un container Docker è un'immagine Docker in esecuzione. AWS offre Amazon Elastic Container Registry (ECR), un registro di immagini per memorizzare e recuperare rapidamente immagini Docker.

D: Qual è la differenza tra Docker e una macchina virtuale?

Le macchine virtuali virtualizzano i server hardware (ovvero eliminano la necessità di gestirli direttamente), i container virtualizzano il sistema operativo dei server. Docker è un sistema operativo (o runtime) per container. Docker Engine va installato su tutti i server in cui è necessario eseguire container e fornisce un set di comandi semplice con cui creare, avviare e interrompere container.

Esecuzione di Docker in AWS

AWS offre supporto per le soluzioni Docker, sia commerciali sia open source. Sono disponibili diversi modi per eseguire container in AWS: uno di essi è Amazon Elastic Container Service (ECS), un servizio di gestione di container e prestazioni e scalabilità elevate. I clienti possono distribuire facilmente le loro applicazioni containerizzate dal loro ambiente Docker locale direttamente su Amazon ECS. AWS Fargate è una tecnologia di Amazon ECS che permette di eseguire container in produzione senza dover distribuire o gestire un'infrastruttura. Amazon Elastic Container Service for Kubernetes (EKS) semplifica l'esecuzione di Kubernetes in AWS. AWS Fargate, invece, è una tecnologia di Amazon ECS che permette di eseguire container senza dover allestire o gestire server. Amazon Elastic Container Registry (ECR) è un repository privato altamente disponibile e sicuro che semplifica memorizzazione e gestione di immagini Docker, crittografandole e comprimendole su disco per renderne più efficiente la sicurezza e il ripristino. AWS Batch permette di eseguire carichi di lavoro di elaborazione in batch altamente scalabili utilizzando container Docker.

Amazon ECS

Amazon ECS è un servizio di orchestrazione di container con scalabilità e prestazioni elevate per l'esecuzione di container Docker nel cloud AWS.

AWS Fargate

AWS Fargate, invece, è una tecnologia di Amazon ECS che permette di eseguire container Docker senza dover distribuire o gestire un'infrastruttura.

Amazon EKS

Amazon EKS semplifica l'esecuzione di Kubernetes in AWS perché non richiede l'installazione e la gestione di master Kubernetes.  

Amazon ECR

Amazon ECR è un repository privato altamente disponibile e sicuro che semplifica memorizzazione e gestione di immagini Docker.

AWS Batch

AWS Batch permette a sviluppatori, data scientist e ingegneri di eseguire processi di elaborazione in batch utilizzando i container in AWS in modo semplice ed efficiente.

AWS Copilot

AWS Copilot è un'interfaccia a riga di comando che permette ai clienti di lanciare e gestire facilmente applicazioni in contenitori su AWS.

Ulteriori informazioni sui container

Visita la pagina sui container
Sei pronto per cominciare?
Distribuisci contenitori Docker
Hai altre domande?
Contattaci