Top Banner
Docker Puebla Bday #4 Celebration FCC BUAP - Puebla, México 25.03.2017 #dockerbday
27

Docker puebla bday #4 celebration

Apr 11, 2017

Download

Ramón Morales
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Docker puebla bday #4 celebration

Docker PueblaBday #4 Celebration

FCC BUAP - Puebla, México25.03.2017

#dockerbday

Page 2: Docker puebla bday #4 celebration

About me

Ramón Morales López

Linux user from 1999, active Docker user,

Open-source & Cloud Enthusiast.

My current job position is as:

Senior Linux Administrator & Cloud Specialist

at T-Systems Mexico

Disclaimer, ideas and things said on this talk do not represent the position of my actual employer. Points of view expressed here are my own.

Page 3: Docker puebla bday #4 celebration

Why are we here?We join to the worldwide celebration of the

4th anniversary of Docker from Puebla

Mexico, including talks and hand-on-labs

about the platform, and also with a little

party between our members.

Page 4: Docker puebla bday #4 celebration

Docker Bday #4 celebrations worldwide!

● 150+ Bday meetups!

● 50+ Countries

● 6000+ RSVPs

● 700+ mentors

Page 5: Docker puebla bday #4 celebration

Thanks Docker community!!17k+

pull requests

40k+stars

800k+repos

10B+downloads

2000+ contributors

280+ meetups

220k+members

80+countries

Page 6: Docker puebla bday #4 celebration

What is Docker?

Page 7: Docker puebla bday #4 celebration

DockerDocker is an open platform for developing, shipping, and running applications quickly.

It automates the deployment of applications into containers.

“Build, Ship & Run Apps

anywhere anytime…”

Page 8: Docker puebla bday #4 celebration

What is a Container?• Standardized packaging for software and dependencies

• Isolate apps from each other

• Share the same OS kernel

• Works for all major Linux distributions

• Containers native to Windows Server 2016

Page 9: Docker puebla bday #4 celebration
Page 10: Docker puebla bday #4 celebration

Comparing Containers and VMs

Containers are an app level construct

VMs are an infrastructure level construct to turn one machine into many servers

Containers and virtual machines have similar resource isolation and allocation benefits, but function differently

because containers virtualize the operating system instead of hardware, containers are more portable and

efficient.

Page 11: Docker puebla bday #4 celebration

Containers and VMs together

Containers and VMs together provide a tremendous amount of flexibility for IT to optimally deploy and manage apps.

Page 12: Docker puebla bday #4 celebration

Docker ComponentsLet's look at the core components that compose Docker:

● The Docker client and server, also called the Docker Engine.

● Docker Images

● Registries

● Docker Containers

Page 13: Docker puebla bday #4 celebration

What is Docker Engine?Docker Engine is a client-server application with these major components:

● A server which is a type of long-running program called a daemon process.

● A REST API which specifies interfaces that programs can use to talk to the

daemon and instruct it what to do.

● A command line interface (CLI) client.

Page 14: Docker puebla bday #4 celebration

Docker image● A Docker image is a read-only template with instructions for creating a Docker container.

● You can build or update images from scratch or download and use images created by others.

● An image may be based on, or may extend, one or more other images.

● A docker image is described in text file called a Dockerfile, which has a simple, well-defined syntax.

Page 15: Docker puebla bday #4 celebration

Dockerfile# Version: 1.0.1

FROM ubuntu:14.04

MAINTAINER Ramon Morales

"[email protected]"

RUN apt-get update && apt-get install

-y nginx

RUN echo 'Hi, I am in your container' \

>/usr/share/nginx/html/index.html

EXPOSE 80

$ docker build -t="karkul/static_web" .

Sending build context to Docker daemon 2.56 kB

Sending build context to Docker daemon

Step 0 : FROM ubuntu:14.04

---> ba5877dc9bec

Step 1 : MAINTAINER Ramon Morales "[email protected]"

---> Running in b8ffa06f9274

---> 4c66c9dcee35

Removing intermediate container b8ffa06f9274

Step 2 : RUN apt-get update

---> Running in f331636c84f7

---> 9d938b9e0090

Removing intermediate container f331636c84f7

Step 3 : RUN apt-get install -y nginx

---> Running in 4b989d4730dd

---> 93fb180f3bc9

Removing intermediate container 4b989d4730dd

Step 4 : RUN echo 'Hi, I am in your container'

>/usr/share/nginx/html/index.html

---> Running in b51bacc46eb9

---> b584f4ac1def

Removing intermediate container b51bacc46eb9

Step 5 : EXPOSE 80

---> Running in 7ff423bd1f4d

---> 22d47c8cb6e5

Successfully built 22d47c8cb6e

Page 16: Docker puebla bday #4 celebration

Docker RegistryA docker registry is a library of images. A registry can be public or private, and can be

on the same server as the Docker daemon or Docker client, or on a totally separate

server.

Examples of public registries:

https://hub.docker.com

https://store.docker.com

Page 17: Docker puebla bday #4 celebration

Docker store• A marketplace for you to get the

latest trusted containers, plugins, and Docker editions!

• You can search, browse, purchase and manage from one location.

• Community Edition for:−Mac−AWS−Fedora−CentOS

Page 18: Docker puebla bday #4 celebration

Docker ContainerA Docker container is a runnable instance of a Docker image.

You can run, start, stop, move, or delete a container using

Docker API or CLI commands.

Page 19: Docker puebla bday #4 celebration

How does Docker works?Docker uses a client-server architecture. The Docker client talks to the Docker daemon, which

does the heavy lifting of building, running, and distributing your Docker containers. The Docker

client and daemon communicate using a REST API, over UNIX sockets or a network interface.

What happens when you run a container?

$ docker run -i -t ubuntu /bin/bash

When you use the docker run CLI command or the

equivalent API, the Docker Engine client instructs

the Docker daemon to run a container.

Page 20: Docker puebla bday #4 celebration

What can I use Docker for?Fast, consistent delivery of your applications...

Docker can streamline the development lifecycle by allowing developers to

work in standardized environments using local containers which provide

your applications and services. You can also integrate Docker into your

continuous integration and continuous deployment (CI/CD) workflow.

Page 21: Docker puebla bday #4 celebration

Containers use cases and success stories...

Uber Accelerates Developer Onboarding from Weeks to Minutes with Docker“Docker provides a very good isolation of resources. We used to have a case where applications stepped on each other. This is annoying because all applications on the host if going to be affected. But Docker provides resource isolation , which helps us to prevent this scenario from happening.”

Xiaojian Huang, Software Engineer, Uber

Page 22: Docker puebla bday #4 celebration

Windows Containers

+ =Containerized Windows Apps

https://blog.sixeyed.com/how-to-dockerize-windows-applications/

Page 23: Docker puebla bday #4 celebration

Questions?

Page 24: Docker puebla bday #4 celebration

Remember: we all start the same way...

Page 25: Docker puebla bday #4 celebration

Thank you!!

Ramón Morales--https://github.com/[email protected]@karkull

Page 26: Docker puebla bday #4 celebration

What else?● Learn Docker with Bday #4 Labs!

● Join to the Docker community

● Practise, practise, practise!

Page 27: Docker puebla bday #4 celebration

Docker Hands-on-labsSTEP 1: Visit http://birthday.play-with-docker.com/

STEP 2: Select the lab you’d like to take.

Join the slack channel - #docker-bday-4 Join the Docker Community - dockr.ly/community