Slide 1

Slide 1 text

Docker and openSUSE workshop 101 Max Huang https://goo.gl/JF6QwA

Slide 2

Slide 2 text

Who is Max? ● Study Area Member ● GNOME Foundation Member ● GNOME.Asia Committee Member ● openSUSE members

Slide 3

Slide 3 text

Promotions ● openSUSE x StudyArea x docker.Taipei x moby.Taipei ○ StudyArea ■ FB https://www.facebook.com/sataiwan/ ○ openSUSE Taiwan ■ FB https://www.facebook.com/groups/opensuse.zh/ ■ openSUSE KKTIX http://opensuse-tw.kktix.cc/ ○ docker.Taipei ■ FB https://www.facebook.com/groups/docker.taipei/ ○ Moby.Taipei ■ FB https://www.facebook.com/groups/moby.taipei

Slide 4

Slide 4 text

What is openSUSE project? openSUSE ( /ˌoʊpənˈsuːzə/) is a Linux-based project and distribution sponsored by SUSE Linux GmbH and other companies. It is widely used throughout the world. The focus of its development is creating usable open-source tools for software developers and system administrators, while providing a user-friendly desktop and feature-rich server environment.。

Slide 5

Slide 5 text

openSUSE ● YaST ○ YaST is the installation and configuration tool for openSUSE and the SUSE Linux Enterprise distributions. It is popular for its easy use and attractive graphical interface and the capability to customize your system quickly during and after the installation. YaST actually stands for Yet another Setup Tool. ● OBS ○ The Open Build Service (OBS) is a generic system to build and distribute packages from sources in an automatic, consistent and reproducible way. ○ https://software.opensuse.org/search ● openSUSE Tumbleweed ○ The Tumbleweed distribution is a pure rolling release version of openSUSE containing the latest stable versions of all software instead of relying on rigid periodic release cycles. The project does this for users that want the newest stable software.

Slide 6

Slide 6 text

Agenda ● Introduction to Docker ● Install Docker ● Docker basic command ● Run Docker container ● Build Docker image ● YaST Docker module ( If we have time :p )

Slide 7

Slide 7 text

Introduction to Docker ● Docker is a software technology providing containers, promoted by the company Docker, Inc. Docker provides an additional layer of abstraction and automation of operating-system-level virtualization on Windows and Linux. ● Docker implements a high-level API to provide lightweight containers that run processes in isolation. ● Because Docker containers are so lightweight, a single server or virtual machine can run several containers simultaneously.

Slide 8

Slide 8 text

Docker vs VM 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.

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Docker Feature ● LIGHTWEIGHT ○ Docker containers running on a single machine share that machine's operating system kernel; they start instantly and use less compute and RAM. ● FAST ○ Containers have sub-second launch times, reducing the cycle time of development, testing, and deployment. ● DEPLOY AND SCALE MORE EASY ○ Docker containers run (almost) everywhere. You can deploy containers on desktops, physical servers, virtual machines, into data centers, and up to public and private clouds. ○ Dockerfile, DockerHub

Slide 11

Slide 11 text

Docker basic ● Image ○ An image is a read-only template with instructions for creating a Docker container. ● Container ○ A container is a runnable instance of an image. You can create, run, stop, move, or delete a container using the Docker API or CLI. ● Registry ○ A Docker registry stores Docker images. ■ Public ● DockerHub ■ Private ● Docker Registry ● Portus https://docs.docker.com/engine/understanding-docker/

Slide 12

Slide 12 text

Docker architecture ● 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 can run on the same system, or you can connect a Docker client to a remote Docker daemon. ● The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface.

Slide 13

Slide 13 text

What is a Docker Edition? NEW! Certification program for Infrastructure, Plugins and Containers Community Edition Enterprise Edition

Slide 14

Slide 14 text

Docker Community Edition (CE) & Enterprise Edition (EE) Enterprise Edition (EE) • CaaS enabled platform subscription (integrated container orchestration, management and security) • Enterprise class support • Quarterly releases, supported for one year each with backported patches and hotfixes. • Certified Technology: Infrastructure, Plugins, Containers • Free Docker platform for “do it yourself” dev and ops • Monthly Edge release with latest features for developers • Quarterly release with maintenance for ops Community Edition (CE)

Slide 15

Slide 15 text

Hands on How to know you install Docker already? # docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE If there is no information above ..... ● Make sure you start the docker ● If you are not install docker …..you could see https://docs.docker.com/engine/installation/ ○ Windows - Docker for Windows ( Win 10 Pro + 64bits ) ○ Mac - Docker for Mac (OS X 10.10.3 Yosemite or newer) ○ Linux - Install with your package manager

Slide 16

Slide 16 text

Lab Instructions ● Play-with-docker.com ● Play with docker classroom ○ http://training.play-with-docker.com/alacart/

Slide 17

Slide 17 text

Docker Image management ● Lab: Download docker images ○ docker pull ○ docker images ● Lab: Search docker images ○ docker search ○ docker pull Let’s Hands on https://github.com/sakanamax/SA_dockerReading/blob/master/workshop/2 0171021openSUSEAsiaSummit/docker_workshop_101_1_20171021.pdf

Slide 18

Slide 18 text

Demo / Hands on Lab

Slide 19

Slide 19 text

Docker Image management ● Lab: Create docker image - modify image ○ docker ps ○ docker run ■ with --rm ■ without --rm ○ docker commit Let’s Hands on https://github.com/sakanamax/SA_dockerReading/blob/ma ster/workshop/20171021openSUSEAsiaSummit/docker_wo rkshop_101_2_20171021.pdf

Slide 20

Slide 20 text

Demo / Hands on Lab

Slide 21

Slide 21 text

Docker Image management ● Lab: Create docker image - Use Dockerfile ○ Write Dockerfile ○ docker build ● Lab: Image management - Tag and delete image ○ docker tag ○ docker rmi ○ docker rm Let’s Hands on https://github.com/sakanamax/SA_dockerReading/blob/master/work shop/20171021openSUSEAsiaSummit/docker_workshop_101_3_2 0171021.pdf

Slide 22

Slide 22 text

Demo / Hands on Lab

Slide 23

Slide 23 text

Reference ● OReilly - Docker Cookbook ● Blog sakananote ● Mindmap ○ https://github.com/sakanamax/SA_dockerReading ○ freemind ● Github ○ https://github.com/sakanamax ● Docker hub ○ https://hub.docker.com/u/sakana/

Slide 24

Slide 24 text

Thanks You