SlideShare a Scribd company logo
Docker: come
"inscatolare" la propria
app?
JUG TAA - giugno 2015
Cristian Consonni e Mario A. Santini
Agenda
Teorica Pratica
Cos'è un LXC (Linux Container)
E’ un programma in user space che emula un
sistema operativo.
Sfrutta il kernel che lo ospita, ma tiene separati
i contesti.
Virtualizzazione vs container
Container
Virtualizzazione
Che cosa è Docker
Docker container
libs / tools
Your App
Docker daemon
Docker
Registry
Docker
client
Che cosa è il Dockerfile
●
FROM java:7-jre
●
●
ENV CATALINA_HOME /usr/local/tomcat
●
ENV PATH $CATALINA_HOME/bin:$PATH
●
RUN mkdir -p "$CATALINA_HOME"
●
WORKDIR $CATALINA_HOME
Che cosa è il Dockerfile 2
●
# see https://www.apache.org/dist/tomcat/tomcat-8/KEYS
●
RUN gpg --keyserver pool.sks-keyservers.net --recv-keys 
●
05AB33110949707C93A279E3D3EFE6B686867BA6 
●
07E48665A34DCAFAE522E5E6266191C37C037D42 
●
...
●
●
ENV TOMCAT_MAJOR 6
●
ENV TOMCAT_VERSION 6.0.44
●
ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-
$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-
$TOMCAT_VERSION.tar.gz
Che cosa è il Dockerfile 3
●
RUN set -x 
●
&& curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz 
●
&& curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc 
●
&& gpg --verify tomcat.tar.gz.asc 
●
&& tar -xvf tomcat.tar.gz --strip-components=1 
●
&& rm bin/*.bat 
●
&& rm tomcat.tar.gz*
●
●
EXPOSE 8080
●
CMD ["catalina.sh", "run"]
DockerHub
Docker Hub: registry pubblico/privato
Docker registry: registry locale (aziendale)
Docker Trusted Registry: servizio a pagamento
DockerHub
Docker Hub: registry pubblico/privato
Docker registry: registry locale (aziendale)
Docker Trusted Registry: servizio a pagamento

More Related Content

PDF
Introduzione a Docker (parte 2 - Pratica)
PDF
Docker - virtualizzazione leggera
PPTX
Automation Night (Docker)
KEY
Come Incorporare un Interprete Groovy in Java
PPTX
Docker Fudamentals
PPTX
Introduzione a Docker
PDF
Lambda architecture
PDF
The myth of the small script
Introduzione a Docker (parte 2 - Pratica)
Docker - virtualizzazione leggera
Automation Night (Docker)
Come Incorporare un Interprete Groovy in Java
Docker Fudamentals
Introduzione a Docker
Lambda architecture
The myth of the small script

Similar to Docker jug taa (20)

PDF
Docker & DevOps
PDF
Vagrant e Docker a confronto;scegliere ed iniziare
PPTX
High specialized vm on open stack cloud
PDF
TuxIsAlive
PDF
Docker e Kubernetes per professionisti IT
PDF
Introduzione a Docker (Maggio 2017) [ITA]
PDF
Docker vs Virtualizzazioni
PDF
Laravelday2018
PPTX
Introduzione a Docker
PDF
Linux Embedded per l'automazione
PDF
Distribuire una libreria Java per usarla come dipendenza gradle
PPTX
Introduzione pratica a docker, da chi lo ha appena conosciuto
PPTX
Introduzione al java
PDF
ASP.NET Core 2 e Docker
PDF
Meetup ASP.NET Core 2 e Docker
PDF
Introduzione a docker - DockerTutorial.it
PPTX
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
PDF
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
PDF
Git best practices
PPTX
Docker & DevOps
Vagrant e Docker a confronto;scegliere ed iniziare
High specialized vm on open stack cloud
TuxIsAlive
Docker e Kubernetes per professionisti IT
Introduzione a Docker (Maggio 2017) [ITA]
Docker vs Virtualizzazioni
Laravelday2018
Introduzione a Docker
Linux Embedded per l'automazione
Distribuire una libreria Java per usarla come dipendenza gradle
Introduzione pratica a docker, da chi lo ha appena conosciuto
Introduzione al java
ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
Introduzione a docker - DockerTutorial.it
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Trace32 lo-strumento-piu-completo-per-il-debug-di-un-sistema-linux
Git best practices
Ad

More from Mario Alexandro Santini (7)

PDF
A Safe Dock for our Programs
PDF
Rust With async / .await
PDF
Rust_Threads.pdf
PDF
The_Borrow_Checker.pdf
PDF
The Rust Programming Language
PDF
Introduction to typescript
A Safe Dock for our Programs
Rust With async / .await
Rust_Threads.pdf
The_Borrow_Checker.pdf
The Rust Programming Language
Introduction to typescript
Ad

Docker jug taa

  • 1. Docker: come "inscatolare" la propria app? JUG TAA - giugno 2015 Cristian Consonni e Mario A. Santini
  • 3. Cos'è un LXC (Linux Container) E’ un programma in user space che emula un sistema operativo. Sfrutta il kernel che lo ospita, ma tiene separati i contesti.
  • 5. Che cosa è Docker Docker container libs / tools Your App Docker daemon Docker Registry Docker client
  • 6. Che cosa è il Dockerfile ● FROM java:7-jre ● ● ENV CATALINA_HOME /usr/local/tomcat ● ENV PATH $CATALINA_HOME/bin:$PATH ● RUN mkdir -p "$CATALINA_HOME" ● WORKDIR $CATALINA_HOME
  • 7. Che cosa è il Dockerfile 2 ● # see https://www.apache.org/dist/tomcat/tomcat-8/KEYS ● RUN gpg --keyserver pool.sks-keyservers.net --recv-keys ● 05AB33110949707C93A279E3D3EFE6B686867BA6 ● 07E48665A34DCAFAE522E5E6266191C37C037D42 ● ... ● ● ENV TOMCAT_MAJOR 6 ● ENV TOMCAT_VERSION 6.0.44 ● ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat- $TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat- $TOMCAT_VERSION.tar.gz
  • 8. Che cosa è il Dockerfile 3 ● RUN set -x ● && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz ● && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc ● && gpg --verify tomcat.tar.gz.asc ● && tar -xvf tomcat.tar.gz --strip-components=1 ● && rm bin/*.bat ● && rm tomcat.tar.gz* ● ● EXPOSE 8080 ● CMD ["catalina.sh", "run"]
  • 9. DockerHub Docker Hub: registry pubblico/privato Docker registry: registry locale (aziendale) Docker Trusted Registry: servizio a pagamento
  • 10. DockerHub Docker Hub: registry pubblico/privato Docker registry: registry locale (aziendale) Docker Trusted Registry: servizio a pagamento