SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Introduction 
to Docker 
Frei Zhang 
0
Virtualization Tech 
Overview 
To get start, let's take a glance of virtualization 
technology.
What is virtualization ? 
Virtualization, in computing, refers to 
the act of creating a virtual (rather 
than actual) version of something, 
including but not limited to a virtual 
computer hardware platform, 
operating system (OS), storage device, 
or computer network resources. 
– wikipedia
Types of virtualization
Hardware / Platform virtualization 
Full virtualization 
Partial virtualization 
Paravirtualization 
OS-Level virtualization
Resource virtualization 
Storage, Network, Memory …
Application virtualization 
Portable app, App sandbox
Benefits 
Lower infrastructure, energy, and facility costs. 
High service level and availability 
Greater utilization of infrastructure investments 
Enhance IT security 
Fast and flexible scalability 
Less administration overhead 
Rapid deployment.
What is Docker?
Docker is 
Docker is an open platform designed for developers 
and sysadmins. It's built to help you build applications 
and services and then deploy them quickly and 
efficiently: from development to production.
Popularity
How it works?
Architect overview 
client-server application 
Client and Server can run on the same system or 
separately (local or distributed) 
Communicate via socket or RESTful API
Inside Docker 
Docker uses the concept of a Standard Container 
which contains a software component along with all its 
dependencies - binaries, libraries, configuration files, 
scripts, virtualenvs, jars, etc. – and can be run on any 
x64-bit Linux kernel that supports cgroups. 
Don't afraid, this part won't be so long. I'll do a simple 
explanation. If you want to know more, read the wiki. ;)
namespace 
when you run a container, a set of namespace are 
bundled to the container. namespace provides a layer 
of isolation: each process runs in its own namespace 
and does not have access outside it.
cgroup 
Also called control groups. it allow Docker to set up 
resource sharing limit.
union fs 
UnionFS or union filesystems are filesystems that 
operate by creating layers, making them very 
lightweight and fast. Docker uses union filesystems to 
provide the building blocks for containers.
container 
Docker combines these components to build a 
container format we call libcontainer. Docker also 
supports traditional Linux containers like LXC which 
also make use of these components.
Terminology 
Docker daemon 
Docker client 
Container 
Your application run inside the containers 
Image 
Your containers are built from images. 
repository 
A repository is a group of images located in the 
docker registry 
registry 
Servers that store docker repositories for easier 
sharing.
Why docker 
Less configuration 
Easy deploy 
Modularization everything 
Light weight 
App isolation 
…
Real world example 
When you join in a new project(leap frog?), you need: 
install && configure suitable IDE, tools 
resolve library dependencies 
setup build environment
Don't panic 
Docker will do them for you, just create a docker 
image, and deploy every where. 
Let's see more.
Docker Work flow
Basic commands 
#To run a container 
$ docker run ubuntu:14.04 /bin/echo Hello World! 
Hello World! 
#List docker images 
$ docker images 
REPOSITORY TAG ID CREATED 
SIZE 
ubuntu 14.04 b710fe79369d 3 hours ago 24. 
65 kB (virtual 320.5 MB) 
#Container running state 
$ docker ps -a 
ID IMAGE COMMAND CREATED 
STATUS PORTS 
861361e27501 ubuntu:14.04 /bin/echo hello world 1 minutes ago 
Exit 0 
#Logs 
$ docker logs b710fe79369d 
hello world 
#Run command interactively 
# run a shell from ubuntu 14.04 
$ docker -i ubuntu:14.04 /bin/bash 
#Run command as daemon 
$ docker -d ubuntu:14.04 mysqld 
#Attach to running container 
$ docker -attach 861361e27510
Docker build, image
create image from container
create image from Dockerfile 
Assume that I have just finish leap frog new feature. 
And below is my working directory: 
$ ls 
. .. 
LFFramework 
Libs 
Thirdparty 
Configs 
Resource 
MyAwesomeGame 
Now Create a Dockfile 
$ emacs -nw Dockerfile 
#target os 
From ubuntu:14.04 
#update source 
Run apt-get update 
#install deps 
Run apt-get install box2d bullet mali-dev scons ... 
COPY . /src 
RUN cd /src Scons Awesome-Game 
#port sharing 
EXPOSE 8888 
CMD ["/src/out/Awesome-Game", "-test", "map1"] 
#Then build image from this Dockerfile. 
$docker build -t lf01/awesomegame-alpha .
Deploy, sharing 
Use docker save or docker export to get image file 
$ docker save lf-01/awesomegame-beta | scp to dist server 
On the dist server, the can use docker load or docker 
import to import the image. 
$ docker import awesomegame-beta-09-9-14.tar 
$ docker run lf-01/awesomegame-beta /src/out/Awesome-Game -test map1 
P.S. You can launch a docker register server to store, 
share docker images, but this slide don't cover this 
topic. If you are interesting about it, feel free to discuss 
with me.
try it 
Talk is cheap, show me the docker!
The End 
QA
Emacs 
I'm a big fan of Emacs.

Más contenido relacionado

La actualidad más candente

Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandPRIYADARSHINI ANAND
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Khelender Sasan
 
Docker : Container Virtualization
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container VirtualizationRanjan Baisak
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureJérôme Petazzoni
 
Introduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopIntroduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopAjeet Singh Raina
 
Docker Container-Introduction and Features
Docker Container-Introduction and FeaturesDocker Container-Introduction and Features
Docker Container-Introduction and FeaturesAshnikbiz
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Simplilearn
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzurePatrick Chanezon
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Containerization and Docker
Containerization and DockerContainerization and Docker
Containerization and DockerMegha Bansal
 
Amazon Web Services and Docker
Amazon Web Services and DockerAmazon Web Services and Docker
Amazon Web Services and DockerPaolo latella
 
dockerizing web application
dockerizing web applicationdockerizing web application
dockerizing web applicationWalid Ashraf
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginnersJuneyoung Oh
 
Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyYan Vugenfirer
 
Introduction to docker security
Introduction to docker securityIntroduction to docker security
Introduction to docker securityWalid Ashraf
 

La actualidad más candente (20)

Docker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini AnandDocker and containers - Presentation Slides by Priyadarshini Anand
Docker and containers - Presentation Slides by Priyadarshini Anand
 
Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30Docker container a-brief_introduction_2016-01-30
Docker container a-brief_introduction_2016-01-30
 
Intro To Docker
Intro To DockerIntro To Docker
Intro To Docker
 
Docker : Container Virtualization
Docker : Container VirtualizationDocker : Container Virtualization
Docker : Container Virtualization
 
Introduction to Docker and deployment and Azure
Introduction to Docker and deployment and AzureIntroduction to Docker and deployment and Azure
Introduction to Docker and deployment and Azure
 
Introduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate WorkshopIntroduction to Docker Compose | Docker Intermediate Workshop
Introduction to Docker Compose | Docker Intermediate Workshop
 
Docker Container-Introduction and Features
Docker Container-Introduction and FeaturesDocker Container-Introduction and Features
Docker Container-Introduction and Features
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on AzureDevoxx France 2015 - The Docker Orchestration Ecosystem on Azure
Devoxx France 2015 - The Docker Orchestration Ecosystem on Azure
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
Containerization and Docker
Containerization and DockerContainerization and Docker
Containerization and Docker
 
Introduction To Docker
Introduction To  DockerIntroduction To  Docker
Introduction To Docker
 
Amazon Web Services and Docker
Amazon Web Services and DockerAmazon Web Services and Docker
Amazon Web Services and Docker
 
dockerizing web application
dockerizing web applicationdockerizing web application
dockerizing web application
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
 
Docker
DockerDocker
Docker
 
Rebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday partyRebuild presentation during Docker's Birthday party
Rebuild presentation during Docker's Birthday party
 
Docker Container Introduction
Docker Container IntroductionDocker Container Introduction
Docker Container Introduction
 
Introduction to docker security
Introduction to docker securityIntroduction to docker security
Introduction to docker security
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 

Similar a Docker intro

Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET DevelopersTaswar Bhatti
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Partner S.A.
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015Codemotion
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...Puppet
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux ContainerBalaji Rajan
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with DockerAndrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with DockerAndrey Hristov
 
Docker
DockerDocker
DockerNarato
 
Hands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbiesHands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbiesYigal Elefant
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )Imo Inyang
 

Similar a Docker intro (20)

Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...Why everyone is excited about Docker (and you should too...) -  Carlo Bonamic...
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Docker
DockerDocker
Docker
 
Docker
DockerDocker
Docker
 
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
Luciano Fiandesio - Docker 101 | Codemotion Milan 2015
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
 
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
 
Containers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific TrioContainers, Docker, and Microservices: the Terrific Trio
Containers, Docker, and Microservices: the Terrific Trio
 
Docker how to
Docker how toDocker how to
Docker how to
 
Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Docker
DockerDocker
Docker
 
Hands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbiesHands on introduction to docker security for docker newbies
Hands on introduction to docker security for docker newbies
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 
Docker - fundamental
Docker  - fundamentalDocker  - fundamental
Docker - fundamental
 

Último

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Último (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

Docker intro

  • 1. Introduction to Docker Frei Zhang 0
  • 2. Virtualization Tech Overview To get start, let's take a glance of virtualization technology.
  • 3. What is virtualization ? Virtualization, in computing, refers to the act of creating a virtual (rather than actual) version of something, including but not limited to a virtual computer hardware platform, operating system (OS), storage device, or computer network resources. – wikipedia
  • 5. Hardware / Platform virtualization Full virtualization Partial virtualization Paravirtualization OS-Level virtualization
  • 6. Resource virtualization Storage, Network, Memory …
  • 8. Benefits Lower infrastructure, energy, and facility costs. High service level and availability Greater utilization of infrastructure investments Enhance IT security Fast and flexible scalability Less administration overhead Rapid deployment.
  • 10. Docker is Docker is an open platform designed for developers and sysadmins. It's built to help you build applications and services and then deploy them quickly and efficiently: from development to production.
  • 13. Architect overview client-server application Client and Server can run on the same system or separately (local or distributed) Communicate via socket or RESTful API
  • 14. Inside Docker Docker uses the concept of a Standard Container which contains a software component along with all its dependencies - binaries, libraries, configuration files, scripts, virtualenvs, jars, etc. – and can be run on any x64-bit Linux kernel that supports cgroups. Don't afraid, this part won't be so long. I'll do a simple explanation. If you want to know more, read the wiki. ;)
  • 15. namespace when you run a container, a set of namespace are bundled to the container. namespace provides a layer of isolation: each process runs in its own namespace and does not have access outside it.
  • 16. cgroup Also called control groups. it allow Docker to set up resource sharing limit.
  • 17. union fs UnionFS or union filesystems are filesystems that operate by creating layers, making them very lightweight and fast. Docker uses union filesystems to provide the building blocks for containers.
  • 18. container Docker combines these components to build a container format we call libcontainer. Docker also supports traditional Linux containers like LXC which also make use of these components.
  • 19. Terminology Docker daemon Docker client Container Your application run inside the containers Image Your containers are built from images. repository A repository is a group of images located in the docker registry registry Servers that store docker repositories for easier sharing.
  • 20. Why docker Less configuration Easy deploy Modularization everything Light weight App isolation …
  • 21. Real world example When you join in a new project(leap frog?), you need: install && configure suitable IDE, tools resolve library dependencies setup build environment
  • 22. Don't panic Docker will do them for you, just create a docker image, and deploy every where. Let's see more.
  • 24. Basic commands #To run a container $ docker run ubuntu:14.04 /bin/echo Hello World! Hello World! #List docker images $ docker images REPOSITORY TAG ID CREATED SIZE ubuntu 14.04 b710fe79369d 3 hours ago 24. 65 kB (virtual 320.5 MB) #Container running state $ docker ps -a ID IMAGE COMMAND CREATED STATUS PORTS 861361e27501 ubuntu:14.04 /bin/echo hello world 1 minutes ago Exit 0 #Logs $ docker logs b710fe79369d hello world #Run command interactively # run a shell from ubuntu 14.04 $ docker -i ubuntu:14.04 /bin/bash #Run command as daemon $ docker -d ubuntu:14.04 mysqld #Attach to running container $ docker -attach 861361e27510
  • 26. create image from container
  • 27. create image from Dockerfile Assume that I have just finish leap frog new feature. And below is my working directory: $ ls . .. LFFramework Libs Thirdparty Configs Resource MyAwesomeGame Now Create a Dockfile $ emacs -nw Dockerfile #target os From ubuntu:14.04 #update source Run apt-get update #install deps Run apt-get install box2d bullet mali-dev scons ... COPY . /src RUN cd /src Scons Awesome-Game #port sharing EXPOSE 8888 CMD ["/src/out/Awesome-Game", "-test", "map1"] #Then build image from this Dockerfile. $docker build -t lf01/awesomegame-alpha .
  • 28. Deploy, sharing Use docker save or docker export to get image file $ docker save lf-01/awesomegame-beta | scp to dist server On the dist server, the can use docker load or docker import to import the image. $ docker import awesomegame-beta-09-9-14.tar $ docker run lf-01/awesomegame-beta /src/out/Awesome-Game -test map1 P.S. You can launch a docker register server to store, share docker images, but this slide don't cover this topic. If you are interesting about it, feel free to discuss with me.
  • 29. try it Talk is cheap, show me the docker!
  • 31. Emacs I'm a big fan of Emacs.