Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Docker and openSUSE workshop 101

Avatar for Max Huang Max Huang
October 31, 2017

Docker and openSUSE workshop 101

Docker and openSUSE workshop 101
openSUSE.Asia Summit 2017

Avatar for Max Huang

Max Huang

October 31, 2017
Tweet

More Decks by Max Huang

Other Decks in Technology

Transcript

  1. Who is Max? • Study Area Member • GNOME Foundation

    Member • GNOME.Asia Committee Member • openSUSE members
  2. 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
  3. 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.。
  4. 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.
  5. Agenda • Introduction to Docker • Install Docker • Docker

    basic command • Run Docker container • Build Docker image • YaST Docker module ( If we have time :p )
  6. 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.
  7. 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.
  8. 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
  9. 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
  10. 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/
  11. 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.
  12. What is a Docker Edition? NEW! Certification program for Infrastructure,

    Plugins and Containers Community Edition Enterprise Edition
  13. 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)
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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/