Docker for Devs @ SUG

Srikanth Nutigattu

Full Stack Developer

Technology Enthusiast

Agile Believer /Coach /Scrum Master

@gpotet

  • Germain POTET

 

  • Software Engineer

 

  • Fontend Developper

 

  • DevOps

 

 

Docker Universe

The Docker mission

Before

Before

After

After

The Docker platform

The Docker platform

The Docker platform

HOST

Our focus today

HOST

The Dev Workflow

The Docker platform

Docker Toolbox installer for Mac and PC


 

Docker Engine runs locally in a VM
Docker Compose to define multi-container apps

Docker Client for a command line user experience
Kitematic for a graphical user experience (GUI)

Docker Images

  • Read only template used to create containers
  • Built by you or other Docker users
  • Shared via a registry like Docker Hub, Docker Trusted Registry or your own Registry

Docker Containers

Volumes

Host

Docker Container

Docker Container

/Volumes

  • Volume changes are excluded when updating an image
  • Persist when a container is deleted
  • Can be mapped to a host folder
  • Can be shared between containers

Volumes

Execute a new container mount the volume test1

in the folder /www/test1

 

-v   <host_path>:<container_path>

docker run -it -v /test1:/www/test1 ubuntu bash

DIY Dockerfile

FROM httpd:2.4

RUN echo ....

CMD ["program", "arg1", ...]

......

 

docker build -t <image-name> .

docker run -it --name <container-name>  <image-name>

Docker compose

Tool to create and manage multi-container applications

Docker compose

Our use case: Connect app to a database

Collaborate using Docker 

Docker Registry

Typical CI process without docker

Possible CI process with Docker

Ecosystem

Kitematic

GUI for Docker

  • Start and stop containers
  • Connects to Docker Hub to access your images
  • Runs on Mac OSX and Windows

Docker Hub

Rancher

Watch out!

Questions?

Docker @ SUG

By Germain Potet

Docker @ SUG

  • 403