SlideShare a Scribd company logo
1 of 11
MEETUP
INTRODUZIONE A DOCKER
Antonio Di Motta
CHI SONO
Mi chiamo Antonio Di Motta e sono un software architect, mi occupo della
progettazione e sviluppo di progetti software complessi nel campo dei trasporti,
industria e media.
github.com/antdimot
twitter.com/dimotta
IL CONTESTO
Siamo nel mezzo di una nuova trasformazione digitale che coinvolge sia i team
di lavoro che il modo con cui si realizzano le applicazioni.
• Team agili, rilasci frequenti, controllo della sicurezza, riduzione dei costi delle
applicazioni legacy
• Muoversi da applicazioni giganti e monolitiche verso soluzioni ibride cloud/
microsevices.
• Avvicinando le due figure IT Operation e Developer (DevOps)
PERCHÉ DOCKER?
COSTRUIRE SOFTWARE MIGLIORE
• Sviluppatori più veloci
• Eliminazione delle inconsistenze legate agli ambienti
CONDIVIDERE E COLLABORARE
• Distribuire e condividere contenuti
• Semplificazione del processo di condivisione delle applicazioni
PROCESSO DI RILASCIO VELOCE E SCALABILE
• Dinamismo circa i cambiamenti e risoluzione dei problemi
• Scalare velocemente nel caso le esigenze di business cambiano
https://www.docker.com/products/overview
DOCKER VS VIRTUAL MACHINES
DOCKER CONTAINER
Un Container incapsula un pezzo di software in un completo filesystem che contiene tutto
quello che occorre per farlo funzionare: Codice, Runtime, Tool di sistema, Librerie di sistema.
LIGHTWEIGHT: Un container viene eseguita su una singola macchina con cui condivide il
kernel del sistema operativo.
OPEN: Un container parte istantaneamente e consuma meno Ram. Sono basati su standard
aperti e funzionano su ogni infrastruttura.
SECURE BY DEFAULT: le applicazioni sono isolate tra di loro e dall’infrastruttura
sottostante.
DOCKER: CONCETTI CHIAVE
Dockerfile è il punto di partenza per il processo di dockerizzazione. Contiene una
descrizione dettagliata della configurazione di una applicazione e delle risorse di cui
necessita.
Docker Image è creato via dockerfile tramite l’image builder. Si tratta di uno snapshot
dell’applicazione.
Docker Container è l’unità isolata in cui l’applicazione è impacchettata assieme alle librerie
e al codice binario.
Docker Engine è container runtime. Legge le immagini docker e avvia i container.
Docker Registry è il servizio dove le Docker Images vengono gestite e conservate in modo
sicuro.
A TUTTA CLI
$ docker <<COMMAND>> [OPTIONS]
// elenco delle docker images locali
$ docker images
// creazione e esecuzione di un docker container chiamato c1
$ docker run –-name c1 ubuntu /bin/echo hello world
$ docker stop/start –a c1
// elenco dei docker container
$ docker ps –a
// rimozione di un docker container
$ docker rm c1
// rimozione di una docker image
$ docker rmi ubuntu
DOCKER HUB
// autenticazione
$ docker login/logout
// elenco delle docker images locali
$ docker pull/push <<imagename>>
Funzionalità principali:
• Image repository
• Automate builds
• Webhooks
• Organizations
• Github e Bitbucket
DEMO

More Related Content

What's hot

What's hot (20)

Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018Docker Workshop - Coretech Summit 2018
Docker Workshop - Coretech Summit 2018
 
Introduzione A Docker
Introduzione A DockerIntroduzione A Docker
Introduzione A Docker
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
 
.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile.NET Core, ASP.NET Core e Linux per il Mobile
.NET Core, ASP.NET Core e Linux per il Mobile
 
Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20Omnis italianmeeting 2016-10-20
Omnis italianmeeting 2016-10-20
 
Introduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciutoIntroduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione pratica a docker, da chi lo ha appena conosciuto
 
Docker
Docker Docker
Docker
 
Introduzione a Docker
Introduzione a DockerIntroduzione a Docker
Introduzione a Docker
 
Da JavaScript a TypeScript
Da JavaScript a TypeScriptDa JavaScript a TypeScript
Da JavaScript a TypeScript
 
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
Azure functions deep dive - Giorgio Di Nardo - Codemotion Rome 2017
 
ASP.NET AND Azure Function
ASP.NET AND Azure FunctionASP.NET AND Azure Function
ASP.NET AND Azure Function
 
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
 
Mobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web DevelopersMobile Development: una introduzione per Web Developers
Mobile Development: una introduzione per Web Developers
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
 
Pensiero Analogico e Microservizi
Pensiero Analogico  e MicroserviziPensiero Analogico  e Microservizi
Pensiero Analogico e Microservizi
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio Code
 
Introduzione a docker
Introduzione a dockerIntroduzione a docker
Introduzione a docker
 
La rivoluzione dei Microservizi
La rivoluzione dei MicroserviziLa rivoluzione dei Microservizi
La rivoluzione dei Microservizi
 
Anatomia di un progetto open-source
Anatomia di un progetto open-sourceAnatomia di un progetto open-source
Anatomia di un progetto open-source
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWS
 

Viewers also liked

Repaso 1 a unidad
Repaso 1 a unidadRepaso 1 a unidad
Repaso 1 a unidad
Luciia Lg
 
Sairam_Industrial_Automation_Magazine_Artical_Pages
Sairam_Industrial_Automation_Magazine_Artical_PagesSairam_Industrial_Automation_Magazine_Artical_Pages
Sairam_Industrial_Automation_Magazine_Artical_Pages
Sairam Vedam
 

Viewers also liked (15)

MongoDB & Chirp
MongoDB & ChirpMongoDB & Chirp
MongoDB & Chirp
 
Repaso 1 a unidad
Repaso 1 a unidadRepaso 1 a unidad
Repaso 1 a unidad
 
Sika transparente 7 w
Sika transparente 7 wSika transparente 7 w
Sika transparente 7 w
 
Sairam_Industrial_Automation_Magazine_Artical_Pages
Sairam_Industrial_Automation_Magazine_Artical_PagesSairam_Industrial_Automation_Magazine_Artical_Pages
Sairam_Industrial_Automation_Magazine_Artical_Pages
 
CV 2017 QC
CV 2017 QCCV 2017 QC
CV 2017 QC
 
Mi trabajo final
Mi trabajo finalMi trabajo final
Mi trabajo final
 
Giv det videre - indsamling projekt 2017
Giv det videre  - indsamling projekt 2017Giv det videre  - indsamling projekt 2017
Giv det videre - indsamling projekt 2017
 
Finance Industry Innovations
Finance Industry InnovationsFinance Industry Innovations
Finance Industry Innovations
 
ยุโรป - europe
ยุโรป - europe ยุโรป - europe
ยุโรป - europe
 
SahanavTechnologies
SahanavTechnologiesSahanavTechnologies
SahanavTechnologies
 
linkedIn resume photo 2.01.17
linkedIn resume photo 2.01.17linkedIn resume photo 2.01.17
linkedIn resume photo 2.01.17
 
Pat 2015 florentino
Pat 2015 florentinoPat 2015 florentino
Pat 2015 florentino
 
PPT inclusión digital
PPT inclusión digitalPPT inclusión digital
PPT inclusión digital
 
Terdal_teaching_CV_2017
Terdal_teaching_CV_2017Terdal_teaching_CV_2017
Terdal_teaching_CV_2017
 
Aspectos sobre la Búsqueda de información
Aspectos sobre la Búsqueda de informaciónAspectos sobre la Búsqueda de información
Aspectos sobre la Búsqueda de información
 

Similar to Introduzione a Docker

Docker vs Virtualizzazioni
Docker vs VirtualizzazioniDocker vs Virtualizzazioni
Docker vs Virtualizzazioni
Giuliano Latini
 

Similar to Introduzione a Docker (20)

Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
 
Docker vs Virtualizzazioni
Docker vs VirtualizzazioniDocker vs Virtualizzazioni
Docker vs Virtualizzazioni
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 
Docker Fudamentals
Docker FudamentalsDocker Fudamentals
Docker Fudamentals
 
Docker e Kubernetes per professionisti IT
Docker e Kubernetes per professionisti ITDocker e Kubernetes per professionisti IT
Docker e Kubernetes per professionisti IT
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
What is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo Zimolo
What is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo ZimoloWhat is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo Zimolo
What is cloud - presentazione open day 13 set 2014 | autore Prof. Lorenzo Zimolo
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e Docker
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
Praticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web ServicesPraticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web Services
 
Containerized Liferay
Containerized LiferayContainerized Liferay
Containerized Liferay
 
Personal Cloud
Personal CloudPersonal Cloud
Personal Cloud
 
MattiaBeltrano_azurePipelines.pptx
MattiaBeltrano_azurePipelines.pptxMattiaBeltrano_azurePipelines.pptx
MattiaBeltrano_azurePipelines.pptx
 
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
Aruba Cloud: 5 minuti sul VisualCloud #Arubait5
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Meetup Azure DevOps
Meetup Azure DevOpsMeetup Azure DevOps
Meetup Azure DevOps
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 

Introduzione a Docker

  • 2. CHI SONO Mi chiamo Antonio Di Motta e sono un software architect, mi occupo della progettazione e sviluppo di progetti software complessi nel campo dei trasporti, industria e media. github.com/antdimot twitter.com/dimotta
  • 3. IL CONTESTO Siamo nel mezzo di una nuova trasformazione digitale che coinvolge sia i team di lavoro che il modo con cui si realizzano le applicazioni. • Team agili, rilasci frequenti, controllo della sicurezza, riduzione dei costi delle applicazioni legacy • Muoversi da applicazioni giganti e monolitiche verso soluzioni ibride cloud/ microsevices. • Avvicinando le due figure IT Operation e Developer (DevOps)
  • 4. PERCHÉ DOCKER? COSTRUIRE SOFTWARE MIGLIORE • Sviluppatori più veloci • Eliminazione delle inconsistenze legate agli ambienti CONDIVIDERE E COLLABORARE • Distribuire e condividere contenuti • Semplificazione del processo di condivisione delle applicazioni PROCESSO DI RILASCIO VELOCE E SCALABILE • Dinamismo circa i cambiamenti e risoluzione dei problemi • Scalare velocemente nel caso le esigenze di business cambiano
  • 6. DOCKER VS VIRTUAL MACHINES
  • 7. DOCKER CONTAINER Un Container incapsula un pezzo di software in un completo filesystem che contiene tutto quello che occorre per farlo funzionare: Codice, Runtime, Tool di sistema, Librerie di sistema. LIGHTWEIGHT: Un container viene eseguita su una singola macchina con cui condivide il kernel del sistema operativo. OPEN: Un container parte istantaneamente e consuma meno Ram. Sono basati su standard aperti e funzionano su ogni infrastruttura. SECURE BY DEFAULT: le applicazioni sono isolate tra di loro e dall’infrastruttura sottostante.
  • 8. DOCKER: CONCETTI CHIAVE Dockerfile è il punto di partenza per il processo di dockerizzazione. Contiene una descrizione dettagliata della configurazione di una applicazione e delle risorse di cui necessita. Docker Image è creato via dockerfile tramite l’image builder. Si tratta di uno snapshot dell’applicazione. Docker Container è l’unità isolata in cui l’applicazione è impacchettata assieme alle librerie e al codice binario. Docker Engine è container runtime. Legge le immagini docker e avvia i container. Docker Registry è il servizio dove le Docker Images vengono gestite e conservate in modo sicuro.
  • 9. A TUTTA CLI $ docker <<COMMAND>> [OPTIONS] // elenco delle docker images locali $ docker images // creazione e esecuzione di un docker container chiamato c1 $ docker run –-name c1 ubuntu /bin/echo hello world $ docker stop/start –a c1 // elenco dei docker container $ docker ps –a // rimozione di un docker container $ docker rm c1 // rimozione di una docker image $ docker rmi ubuntu
  • 10. DOCKER HUB // autenticazione $ docker login/logout // elenco delle docker images locali $ docker pull/push <<imagename>> Funzionalità principali: • Image repository • Automate builds • Webhooks • Organizations • Github e Bitbucket
  • 11. DEMO

Editor's Notes

  1. ACCELERATE DEVELOPERS Stop wasting hours setting up developer environments, spinning up new instances, and making copies of production code to run locally. With Docker, you simply take copies of your live environment and run them on any new endpoint running a Docker engine. EMPOWER CREATIVITY The isolation capabilities of Docker containers free developers from constraints: they can use the best language and tools for their application services without worrying about causing internal tooling conflicts. ELIMINATE ENVIRONMENT INCONSISTENCIES Packaging an application in a container with its configs and dependencies guarantees that the application will always work as designed in any environment: locally, on another machine, in test or production. No more worries about having to install the same configurations into different environments. DISTRIBUTE & SHARE CONTENT Store, distribute, and manage Docker images in Docker Hub with your team. Image updates, changes, and history are automatically shared across your organization. SIMPLY SHARE YOUR APPLICATION WITH OTHERS Ship containers without worrying about environment dependencies creating issues for your application. Other teams can easily link to or test against your app without having to learn about how it works. QUICKLY SCALE Docker containers spin up and down in seconds, making it easy to scale application services to satisfy peak customer demand, and then reduce running containers when demand ebbs. EASILY REMEDIATE ISSUES Docker makes it easy to identify issues, isolate the problem container, quickly roll back to make the necessary changes, and then push the updated container into production. Isolation between containers makes these changes less disruptive than in traditional software models.
  2. vIRTUAL MACHINES Virtual machines include the application, the necessary binaries and libraries, and an entire guest operating system -- all of which can amount to tens of GBs. CONTAINERS Containers include the application and all of its dependencies --but share the kernel with other containers, running as isolated processes in user space on the host operating system. Docker containers are not tied to any specific infrastructure: they run on any computer, on any infrastructure, and in any clouD.