Cos'è Docker?

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

Docker-Logo_Horizontel_279x131

Docker è una piattaforma software che permette di creare build, 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.

Docker in AWS offre a sviluppatori e amministratori un modo affidabile e poco costoso per creare build, distribuire ed eseguire applicazioni distribuite su qualsiasi scala. AWS supporta entrambi i modelli di licenza di Docker: open source con Docker Community Edition (CE) e basata su iscrizione con Docker Enterprise Edition (EE).

Come funziona Docker

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

Servizi AWS come AWS Fargate, Amazon ECSAmazon EKS e AWS Batch semplificano l'esecuzione e la gestione di container Docker in modo scalabile.

monolith_2-VM-vs-Containers

Perché Docker

Docker permette di distribuire il codice più rapidamente, standardizzare il funzionamento delle applicazioni, trasferire 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.

100x100_benefit_deployment1

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.

100x100_benefit_tools

Funzionamento standardizzato

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

100x100_benefit_migration

Trasferimenti ottimizzati

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

100x100_benefit_lowcost-affordable

Spese ridotte

I container Docker semplificano l'esecuzione di codice sui server, migliorandone l'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. Questo servizio, infatti, semplifica la creazione e l'esecuzione di architetture di microservizi distribuite, la distribuzione di codice con pipeline di integrazione e distribuzione standardizzata continue, la creazione di sistemi di elaborazione altamente scalabili e la creazione di piattaforme completamente gestite per sviluppatori.

100x100_benefit_ccontainers

Microservizi

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

100x100_benefit_delivery

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.

AWS_Benefit Icon_AutomatedOperations

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.

100x100_benefit_get-started-2

Contenitori come servizio

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

Domande frequenti su Docker

D: Docker è un servizio gratuito?

Docker Community Edition (CE) è gratuito. Questa versione di Docker è open source e può essere utilizzata su diverse piattaforme: Windows, Mac e Linux. È possibile installare Docker CE manualmente su un computer o su una macchina virtuale di Amazon EC2, oppure utilizzarlo con l'AMI di Amazon ECS appositamente ottimizzata.

Docker Enterprise Edition (EE) offre ulteriori caratteristiche di sicurezza e di gestione dei flussi di lavoro; è disponibile mediante abbonamento in AWS Marketplace.

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 con cui memorizzare e recuperare rapidamente immagini Docker.

D: Qual è la differenza tra Docker Swarm, Kubernetes e Amazon ECS?

Quando è necessario eseguire diversi container Docker, è possibile avviare, interrompere o monitorare migliaia (o milioni) di container utilizzando strumenti di orchestrazione come Docker Swarm, Kubernetes e Amazon Elastic Container Service (ECS)

Docker Swarm è un software di orchestrazione di container prodotto da Docker che è possibile eseguire e gestire manualmente. Kubernetes è un software di orchestrazione open source sostenuto da una community molto attiva. Amazon EKS semplifica l'esecuzione di Kubernetes in AWS fornendo piani di controllo per i container. Amazon ECS è un servizio AWS completamente gestito che semplifica l'esecuzione di container in AWS con integrazioni ottimizzate con gli altri servizi AWS, ad esempio cloud privati virtuali, sistemi di bilanciamento del carico, rilevamento di servizi e ruoli di IAM.

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.

monolith_2-VM-vs-Containers

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. AWS Fargate, invece, è 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.

new_product_ecs

Amazon ECS

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

new_product_fargate

AWS Fargate

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

new_product_eks

Amazon EKS

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

new_product_ecr

Amazon ECR

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

new_product_batch

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.

new_product_docker_cleanwhale

Docker EE offre una piattaforma per la gestione aziendale di container e la relativa protezione, ottimizzata per gli ambienti Amazon EC2.

Docker EE è disponibile in abbonamento in AWS Marketplace. Disponi già di una licenza per Docker EE? Usa Docker EE Standard in AWS.

Inizia a usare Docker

Per iniziare a usare Docker in AWS bastano pochi minuti!
icon1
Registrati per creare un account AWS
Ottieni accesso istantaneo al piano gratuito di AWS.
icon2
Distribuisci container Docker in 10 minuti
Scopri di più su Docker con questo semplice tutorial.

Ulteriori informazioni sui contenitori

Visita la pagina sui container
Ti senti pronto?
Distribuisci di contenitori Docker
Hai ulteriori domande?
Contattaci