SlideShare a Scribd company logo
9.0
César Diniz Maciel
Executive IT Specialist
IBM Corporate Strategy
cmaciel@us.ibm.com
Docker containers on IBM Power Systems -
Introduction, Administration and Use Cases
2
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Session objectives
After this session, you will be able to:
• Understand about containers and how they are useful for
deploying applications;
• Learn how to install Docker on Power Systems and how to
deploy containers;
• Learn basic Docker management commands, how to create
images and how to move containers across systems;
3
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Agenda
●
What are containers?
●
Why containers?
●
Differences between containers and virtual machines
●
Docker on Power Systems
– Installing Docker
– Creating base image
– Deploying containers
●
Comparing Docker to AIX Workload Partitions
●
Managing containers
4
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
4
5
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
What are Containers?
●
Two new features enabled containers
●
Cgroups and Name spaces
●
Different name space for process
●
Own process space
●
Can run stuff as root (Chroot)
●
Concept from Plan9 (1992)
●
Done with setns and unshare system call
●
Share the same kernel
● No device emulation
● A name space is completely separated
●
Full network stack on the new name space
●
Own routes
●
Own Firewall rules
●
Name resolution mechanism
● Mount, PIDs, IPCs,
Server
Host OS
Linux Container + Docker Engine
Middleware YMiddleware X
App
A
App
A
App
A1
App
A1
App
B
App
B
App
B1
Container
6
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
What is Docker?
●
Operating system-based virtualization
– Aimed at quick and efficient deployment of applications
in a virtualized container environment.
●
From http://docker.com
– Docker is an open platform for developers and
sysadmins to build, ship, and run distributed
applications. It runs as an isolated process in
userspace on the host operating
system, sharing the kernel with
other containers. Thus, it enjoys
the resource isolation and
allocation benefits of VMs but is
much more portable and efficient.
7
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Why Docker
●
Fast to deploy
●
Lightweigth
●
Almost no performance impact for applications
●
Very efficient use of resources
●
Ability to pack applications, configuration files, pre-
requisites, etc in a docker image for easy distribution
and deployment.
●
Ability to run different Linux versions and flavors in the
same host system.
8
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Differences between Docker and VMs
●
Docker is an OS-based virtualization
– Same concept as Virtualbox, Vmware Workstation, AIX
WPAR, Solaris Containers, BSD Jails...
●
Kernel is shared among all containers
●
Every container runs the same kernel version
●
Kernel parameters are the same for all containers, as well
as network and I/O
●
No strong isolation between containers – processes are
isolated from each other, but all containers run under the
same OS instance
9
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
●
Portability
●
If it works locally, it will work on the server, with
exactly the same behavior, regardless of
versions, distro, dependencies
●
Quick boot
●
Faster provisioning
●
Can fit far more containers than VMs into a host
●
Simplified security
●
Only need to fix things on the hosts
●
Lower Costs
●
Fewer operating systems to manage
●
Easy OS patching
●
Greater application mobility
●
Starting/Stoping a container is a about process
management
Benefits of containers
Manual VM Docker
Provision
TimeDays
Minutes
Seconds / ms
10
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
●
Docker Engine available as part of base distribution packages from Ubuntu 15.04 and
Fedora 23 onwards
●
Docker can be built from source on various Linux distros on POWER
●
Ubuntu, RHEL 7, SLES 12 etc
●
Refer for more info - https://www.ibm.com/developerworks/library/l-docker /
●
Docker image registry can be compiled on different Linux on POWER distributions
●
Multi-arch registry is work in progress
https://gist.github.com/estesp/a3546f3cf24d2fc9cecc
●
IBM is working with the community to make additional images available for POWER in
Docker Hub
https://hub.docker.com/u/ppc64le/
Ubuntu, Debian, gcc are already available
IBM POWER containers support
11
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Installing Docker on Power Systems
●
Docker officially supported on
Ubuntu Vivid Vervet (15.04) and above
– Install the docker package
●
apt-get install docker.io
●
Part of the Ubuntu distribution and maintained by Canonical.
12
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Using Docker
●
Docker users can install images from Docker Hub, a public
repositores for Docker images
– However, it is x86-oriented. That means that by default, docker pulls
a x86 image from the server.
– Multiarch support for Docker Hub is being worked
- Meanwhile, non-x86 images have distinct names to identify them,
such as 'fedora22_ppc64le'
●
Docker on POWER users can create their own images, and
then can share them by running a private Docker Hub
●
Most enterprises will probably have their own images in a
private repository for security.
13
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Creating a Docker image
●
Simple ways to create images are:
– Debian Bootstrap (debootstrap)
– Ubuntu Core (14.04 only)
●
Cloning a system into an image is also possible
– Allows for migration from virtual machines to containers
– Environment can be customized (i.e. applications installed, etc)
before generating the image for container deployment.
17
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Comparing Docker to AIX Workload Partitions
●
Similar concept of OS-based virtualization
●
AIX allows for multiple OS versions to coexist
– Host partition must be on AIX 7
– Hosted WPARs can be AIX 5.2, 5.3 or 7
●
Docker allows for multiple OS versions
– Host partition does not have to be at latest level
– Can host OS versions that are higher or lower
– All run same kernel version, since it is shared by all containers, so
while the OS version may change, the kernel does not
18
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Comparing Docker to AIX Workload Partitions
●
AIX WPARs are always persistent. Docker containers are not
– You have to explicitly save the container in order to save changes made
while running
– Application data normally resides on data volumes, that are filesystems
mounted by Docker, and these are persistent – therefore application data
is always saved to disk and does not require the commit operation on
the container.
●
Each AIX WPAR is a separate image. Docker can instantiate
multiple containers from the same image
– Easier to deploy and maintain a pool of similar environments
– Docker automatically assigns a new IP for each instance
LXC and Docker usage
Similar to AIX System WPAR Similar to AIX Application WPAR
20
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Using Docker Containers
●
docker images
●
docker ps -a
●
docker run <container>
●
docker run -i -t <container> /bin/bash
●
docker rm <container>
●
docker rmi <image>
●
docker commit <container_id> <some_name>
21
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Docker demo on Power Systems
●
As root, do:
●
docker -v
●
docker images
●
docker ps -a
●
cat /etc/lsb-release
●
docker run vividcore cat /etc/lsb-release
●
docker run ubuntu cat /etc/lsb-release
22
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
23
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
24
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
25
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Docker use cases
26
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Example of running Apache on Docker
●
Based on customization script called Dockerfile
●
Dockerfile specifies image to base installation, adds extra
packages, copy files and configures applications
●
Container started with port forwarding
27
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Dockerfile
FROM ubuntucore
MAINTAINER Breno Leitao
RUN apt-get update && apt-get install -y php5 libapache2-mod-php5 php5-mysql
php5-cli
&& apt-get clean && rm -rf /var/lib/apt/lists/*
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
EXPOSE 80
CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]
Instruction set: https://docs.docker.com/reference/builder/
28
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Building the container
~/apache# docker build –tag=“apache2“ .
●
Sending build context to Docker daemon 2.048 kB
●
Sending build context to Docker daemon
●
Step 0 : FROM ubuntucore
●
---> 7b89a2b48b6a
●
Step 1 : MAINTAINER Breno Leitao
●
---> Running in 956125bbc3e0
●
---> 9325c0f1d538
●
Removing intermediate container 956125bbc3e0
●
Step 2 : RUN apt-get update && apt-get install -y php5
libapache2-mod-php5 php5-mysql php5-cli
●
---> Running in d9d33eaef00c
●
Ign http://ports.ubuntu.com trusty InRelease
●
●
29
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Example of running Apache on Docker
●
docker run -p 8080:80 -d apache2
– Starts the container in detached mode, and redirects container
port 8080 to host partition port 80
●
Since it is running detached, control the container using
docker commands (e.g. docker start, docker stop).
30
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Moving a container to other system
●
docker save apache2 > apache.tar
– copy apache.tar to other system
●
docker load < apache.tar
●
docker run ­p 8080:80 ­d apache2
31
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Managing containers
●
There are many tools for clustering, orchestration, resource management for
Docker
– Docker tools:
●
Swarm: Native clustering for Docker. It turns a pool of Docker hosts into
a single, virtual Docker host.
●
Compose: Tool for defining and running multi-container Docker
applications.
●
Machine:Tool that lets you install Docker Engine on virtual hosts, and
manage the hosts.
– Google Kubernetes: Open-source system for automating deployment,
operations, and scaling of containerized applications.
– Apache Mesos: Open-source cluster manager that provides efficient resource
isolation and sharing across distributed applications, or frameworks
All these tools run on POWER
32
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Managing containers
Shipyard is an open source GUI
for managing and deploying
Docker containers
33
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Managing containers
34
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Docker at insane scale on IBM Power Systems
https://developer.ibm.com/bluemix/2015/11/13/docker-insane-scale-on-ibm-power-systems/
35
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
Conclusion
●
Containers offer a flexible way of deploying applications
with minimum effort.
●
System resources can be used efficiently, and
migration/deployment of new environments is quick and
easy.
●
Docker integration with cloud management tools such
as Openstack provides rapid instance deployment, and
multi-platform container management.
●
Docker for Power Systems allow all these benefits to
be used on a high performance and high reliability
platform.
36
IBM Systems Technical Events | ibm.com/training/events
© Copyright IBM Corporation 2016. Technical University/Symposia
materials may not be reproduced in whole or in part without the
prior written permission of IBM.
References
• Seetharami Seelam, Ogata Kazunuri, et. al. : Docker on POWER
Platforms:
https://www.ibm.com/developerworks/library/d-docker-on-power-linux-platf
orm/
• Breno Leitao: Ubuntu Core on Docker for POWER
https://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46
f2-817d-44a4f27eba32/entry/ubuntu_core_on_docker_for_power?lang=en
• Jean-Tiare LE BIGOT: Getting Docker to run on Power8
https://blog.jtlebi.fr/2014/10/28/getting-docker-to-run-on-power8/
• Pradipta Banerjee: How to create a Dockerized Application for Ubuntu on
Power (ppc64) Servers.
http://cloudgeekz.com/114/how-to-create-a-dockerized-application-for-ubu
ntu-on-power-ppc64-servers.html
• Pradipta Banerjee: Docker on Ubuntu Vivid Vervet for Power LE.
https://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46
f2-817d-44a4f27eba32/entry/docker_on_ubuntu_vivid_vervet_for_power_
le?lang=en
36

More Related Content

What's hot

Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
Jian Wu
 
Docker & ci
Docker & ciDocker & ci
Docker & ci
Patxi Gortázar
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
abhishek chawla
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
andrzejsydor
 
JOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to docker
Jordan Open Source Association
 
Docker basics
Docker basicsDocker basics
Docker basics
Claudio Montoya
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
DevOps.com
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
Aniekan Akpaffiong
 
Virtual Machines and Docker
Virtual Machines and DockerVirtual Machines and Docker
Virtual Machines and Docker
Danish Khakwani
 
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
Patrick Chanezon
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
Instruqt
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ElasTest Project
 
Introduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in betweenIntroduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in between
All Things Open
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
yannick grenzinger
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Google Developer Group Zürich
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
Imo Inyang
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Jo Ee Liew
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Jérôme Petazzoni
 

What's hot (20)

Introduction to Docker
Introduction  to DockerIntroduction  to Docker
Introduction to Docker
 
Docker & ci
Docker & ciDocker & ci
Docker & ci
 
Virtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management servicesVirtualization, Containers, Docker and scalable container management services
Virtualization, Containers, Docker and scalable container management services
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 
JOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to dockerJOSA TechTalk: Introduction to docker
JOSA TechTalk: Introduction to docker
 
Docker basics
Docker basicsDocker basics
Docker basics
 
Docker based-pipelines
Docker based-pipelinesDocker based-pipelines
Docker based-pipelines
 
The ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of DockerThe ABC of Docker: The Absolute Best Compendium of Docker
The ABC of Docker: The Absolute Best Compendium of Docker
 
Virtual Machines and Docker
Virtual Machines and DockerVirtual Machines and Docker
Virtual Machines and Docker
 
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
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and JenkinsExpoQA 2017 Using docker to build and test in your laptop and Jenkins
ExpoQA 2017 Using docker to build and test in your laptop and Jenkins
 
Introduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in betweenIntroduction to Containers - From Docker to Kubernetes and everything in between
Introduction to Containers - From Docker to Kubernetes and everything in between
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )containers and virtualization tools ( Docker )
containers and virtualization tools ( Docker )
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet UpDocker Intro at the Google Developer Group and Google Cloud Platform Meet Up
Docker Intro at the Google Developer Group and Google Cloud Platform Meet Up
 

Viewers also liked

IEA DSM Task 24 Transport Panel at BECC conference
IEA DSM Task 24 Transport Panel at BECC conferenceIEA DSM Task 24 Transport Panel at BECC conference
IEA DSM Task 24 Transport Panel at BECC conference
SEA - Sustainable Energy Advice Ltd
 
Core Management - Task 1
Core Management - Task 1Core Management - Task 1
Core Management - Task 1
🇳🇿Helen McGinty
 
Building Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductBuilding Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software Product
Stacy Vicknair
 
Technical product manager
Technical product managerTechnical product manager
Technical product manager
Mark Long
 
Lotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & ArchitectureLotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & Architecture
ddrschiw
 
kafka-steaming-data
kafka-steaming-datakafka-steaming-data
kafka-steaming-data
Bryan Jacobs
 
Algorithm - Introduction
Algorithm - IntroductionAlgorithm - Introduction
Algorithm - Introduction
Madhu Bala
 
University Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic AlgortihmsUniversity Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic Algortihms
Halil Kaşkavalcı
 
Introduction To Algorithm [2]
Introduction To Algorithm [2]Introduction To Algorithm [2]
Introduction To Algorithm [2]
ecko_disasterz
 
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and TomorrowVMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld
 
Enterprise Architecture: The role of the Design Authority
Enterprise Architecture:The role of the Design AuthorityEnterprise Architecture:The role of the Design Authority
Enterprise Architecture: The role of the Design Authority
Investnet
 
algorithm
algorithmalgorithm
algorithm
kokilabe
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to Algorithm
Education Front
 
[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale
Rakuten Group, Inc.
 
[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo
[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo
[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo
Rakuten Group, Inc.
 
Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013
Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013
Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013
Cosmin Lehene
 
Algorithm
AlgorithmAlgorithm
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
JungHyuk Kwon
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling Twitter
Blaine
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
Konstantin Gredeskoul
 

Viewers also liked (20)

IEA DSM Task 24 Transport Panel at BECC conference
IEA DSM Task 24 Transport Panel at BECC conferenceIEA DSM Task 24 Transport Panel at BECC conference
IEA DSM Task 24 Transport Panel at BECC conference
 
Core Management - Task 1
Core Management - Task 1Core Management - Task 1
Core Management - Task 1
 
Building Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software ProductBuilding Faster Horses: Taking Over An Existing Software Product
Building Faster Horses: Taking Over An Existing Software Product
 
Technical product manager
Technical product managerTechnical product manager
Technical product manager
 
Lotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & ArchitectureLotus Forms Webform Server 3.0 Overview & Architecture
Lotus Forms Webform Server 3.0 Overview & Architecture
 
kafka-steaming-data
kafka-steaming-datakafka-steaming-data
kafka-steaming-data
 
Algorithm - Introduction
Algorithm - IntroductionAlgorithm - Introduction
Algorithm - Introduction
 
University Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic AlgortihmsUniversity Course Timetabling by using Multi Objective Genetic Algortihms
University Course Timetabling by using Multi Objective Genetic Algortihms
 
Introduction To Algorithm [2]
Introduction To Algorithm [2]Introduction To Algorithm [2]
Introduction To Algorithm [2]
 
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and TomorrowVMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
VMworld 2015: vSphere Web Client- Yesterday, Today, and Tomorrow
 
Enterprise Architecture: The role of the Design Authority
Enterprise Architecture:The role of the Design AuthorityEnterprise Architecture:The role of the Design Authority
Enterprise Architecture: The role of the Design Authority
 
algorithm
algorithmalgorithm
algorithm
 
Introduction to Algorithm
Introduction to AlgorithmIntroduction to Algorithm
Introduction to Algorithm
 
[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale[Rakuten TechConf2014] [B-1] Performance at scale
[Rakuten TechConf2014] [B-1] Performance at scale
 
[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo
[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo
[Rakuten TechConf2014] [D-6] Rakuten BaaS in ROOM & Rakuten Kobo
 
Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013
Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013
Real-time “OLAP” for Big Data (+ use cases) - bigdata.ro 2013
 
Algorithm
AlgorithmAlgorithm
Algorithm
 
HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기HTML5 로 iPhone App 만들기
HTML5 로 iPhone App 만들기
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling Twitter
 
Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)Enterprise Architectures with Ruby (and Rails)
Enterprise Architectures with Ruby (and Rails)
 

Similar to docker

IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
Kyle Brown
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
ICON UK EVENTS Limited
 
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Amazon Web Services
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
Ajeet Singh Raina
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
IRJET Journal
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
Animesh Singh
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
Matteo Bisi
 
Why containers
Why containersWhy containers
Why containers
Luca Ravazzolo
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
Simon Storm
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
Andrea Fontana
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Animesh Singh
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
Dr Ganesh Iyer
 
EMC World 2016 - code.09 Introduction to the Docker Platform
EMC World 2016 - code.09 Introduction to the Docker PlatformEMC World 2016 - code.09 Introduction to the Docker Platform
EMC World 2016 - code.09 Introduction to the Docker Platform
{code}
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
Andrey Hristov
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
Andrey Hristov
 
Docker In Brief
Docker In BriefDocker In Brief
Docker In Brief
Ritu Kamthan
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
Ajeet Singh Raina
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
Ryan Hodgin
 

Similar to docker (20)

IBM Container Service Overview
IBM Container Service OverviewIBM Container Service Overview
IBM Container Service Overview
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
Why Users Are Moving on from Docker and Leaving Its Security Risks Behind (Sp...
 
Introduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker CaptainIntroduction to Docker Containers - Docker Captain
Introduction to Docker Containers - Docker Captain
 
HPC Cloud Burst Using Docker
HPC Cloud Burst Using DockerHPC Cloud Burst Using Docker
HPC Cloud Burst Using Docker
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
Why containers
Why containersWhy containers
Why containers
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
 
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source TriumvirateCloud foundry Docker Openstack - Leading Open Source Triumvirate
Cloud foundry Docker Openstack - Leading Open Source Triumvirate
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
EMC World 2016 - code.09 Introduction to the Docker Platform
EMC World 2016 - code.09 Introduction to the Docker PlatformEMC World 2016 - code.09 Introduction to the Docker Platform
EMC World 2016 - code.09 Introduction to the Docker Platform
 
Introduction to Docker - VIT Campus
Introduction to Docker - VIT CampusIntroduction to Docker - VIT Campus
Introduction to Docker - VIT Campus
 
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 In Brief
Docker In BriefDocker In Brief
Docker In Brief
 
Introduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of TechnologyIntroduction to Docker - Vellore Institute of Technology
Introduction to Docker - Vellore Institute of Technology
 
Docker Overview - Rise of the Containers
Docker Overview - Rise of the ContainersDocker Overview - Rise of the Containers
Docker Overview - Rise of the Containers
 

docker

  • 1. 9.0 César Diniz Maciel Executive IT Specialist IBM Corporate Strategy cmaciel@us.ibm.com Docker containers on IBM Power Systems - Introduction, Administration and Use Cases
  • 2. 2 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Session objectives After this session, you will be able to: • Understand about containers and how they are useful for deploying applications; • Learn how to install Docker on Power Systems and how to deploy containers; • Learn basic Docker management commands, how to create images and how to move containers across systems;
  • 3. 3 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Agenda ● What are containers? ● Why containers? ● Differences between containers and virtual machines ● Docker on Power Systems – Installing Docker – Creating base image – Deploying containers ● Comparing Docker to AIX Workload Partitions ● Managing containers
  • 4. 4 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. 4
  • 5. 5 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. What are Containers? ● Two new features enabled containers ● Cgroups and Name spaces ● Different name space for process ● Own process space ● Can run stuff as root (Chroot) ● Concept from Plan9 (1992) ● Done with setns and unshare system call ● Share the same kernel ● No device emulation ● A name space is completely separated ● Full network stack on the new name space ● Own routes ● Own Firewall rules ● Name resolution mechanism ● Mount, PIDs, IPCs, Server Host OS Linux Container + Docker Engine Middleware YMiddleware X App A App A App A1 App A1 App B App B App B1 Container
  • 6. 6 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. What is Docker? ● Operating system-based virtualization – Aimed at quick and efficient deployment of applications in a virtualized container environment. ● From http://docker.com – Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but is much more portable and efficient.
  • 7. 7 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Why Docker ● Fast to deploy ● Lightweigth ● Almost no performance impact for applications ● Very efficient use of resources ● Ability to pack applications, configuration files, pre- requisites, etc in a docker image for easy distribution and deployment. ● Ability to run different Linux versions and flavors in the same host system.
  • 8. 8 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Differences between Docker and VMs ● Docker is an OS-based virtualization – Same concept as Virtualbox, Vmware Workstation, AIX WPAR, Solaris Containers, BSD Jails... ● Kernel is shared among all containers ● Every container runs the same kernel version ● Kernel parameters are the same for all containers, as well as network and I/O ● No strong isolation between containers – processes are isolated from each other, but all containers run under the same OS instance
  • 9. 9 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. ● Portability ● If it works locally, it will work on the server, with exactly the same behavior, regardless of versions, distro, dependencies ● Quick boot ● Faster provisioning ● Can fit far more containers than VMs into a host ● Simplified security ● Only need to fix things on the hosts ● Lower Costs ● Fewer operating systems to manage ● Easy OS patching ● Greater application mobility ● Starting/Stoping a container is a about process management Benefits of containers Manual VM Docker Provision TimeDays Minutes Seconds / ms
  • 10. 10 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. ● Docker Engine available as part of base distribution packages from Ubuntu 15.04 and Fedora 23 onwards ● Docker can be built from source on various Linux distros on POWER ● Ubuntu, RHEL 7, SLES 12 etc ● Refer for more info - https://www.ibm.com/developerworks/library/l-docker / ● Docker image registry can be compiled on different Linux on POWER distributions ● Multi-arch registry is work in progress https://gist.github.com/estesp/a3546f3cf24d2fc9cecc ● IBM is working with the community to make additional images available for POWER in Docker Hub https://hub.docker.com/u/ppc64le/ Ubuntu, Debian, gcc are already available IBM POWER containers support
  • 11. 11 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Installing Docker on Power Systems ● Docker officially supported on Ubuntu Vivid Vervet (15.04) and above – Install the docker package ● apt-get install docker.io ● Part of the Ubuntu distribution and maintained by Canonical.
  • 12. 12 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Using Docker ● Docker users can install images from Docker Hub, a public repositores for Docker images – However, it is x86-oriented. That means that by default, docker pulls a x86 image from the server. – Multiarch support for Docker Hub is being worked - Meanwhile, non-x86 images have distinct names to identify them, such as 'fedora22_ppc64le' ● Docker on POWER users can create their own images, and then can share them by running a private Docker Hub ● Most enterprises will probably have their own images in a private repository for security.
  • 13. 13 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Creating a Docker image ● Simple ways to create images are: – Debian Bootstrap (debootstrap) – Ubuntu Core (14.04 only) ● Cloning a system into an image is also possible – Allows for migration from virtual machines to containers – Environment can be customized (i.e. applications installed, etc) before generating the image for container deployment.
  • 14. 17 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Comparing Docker to AIX Workload Partitions ● Similar concept of OS-based virtualization ● AIX allows for multiple OS versions to coexist – Host partition must be on AIX 7 – Hosted WPARs can be AIX 5.2, 5.3 or 7 ● Docker allows for multiple OS versions – Host partition does not have to be at latest level – Can host OS versions that are higher or lower – All run same kernel version, since it is shared by all containers, so while the OS version may change, the kernel does not
  • 15. 18 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Comparing Docker to AIX Workload Partitions ● AIX WPARs are always persistent. Docker containers are not – You have to explicitly save the container in order to save changes made while running – Application data normally resides on data volumes, that are filesystems mounted by Docker, and these are persistent – therefore application data is always saved to disk and does not require the commit operation on the container. ● Each AIX WPAR is a separate image. Docker can instantiate multiple containers from the same image – Easier to deploy and maintain a pool of similar environments – Docker automatically assigns a new IP for each instance
  • 16. LXC and Docker usage Similar to AIX System WPAR Similar to AIX Application WPAR
  • 17. 20 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Using Docker Containers ● docker images ● docker ps -a ● docker run <container> ● docker run -i -t <container> /bin/bash ● docker rm <container> ● docker rmi <image> ● docker commit <container_id> <some_name>
  • 18. 21 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Docker demo on Power Systems ● As root, do: ● docker -v ● docker images ● docker ps -a ● cat /etc/lsb-release ● docker run vividcore cat /etc/lsb-release ● docker run ubuntu cat /etc/lsb-release
  • 19. 22 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.
  • 20. 23 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.
  • 21. 24 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.
  • 22. 25 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Docker use cases
  • 23. 26 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Example of running Apache on Docker ● Based on customization script called Dockerfile ● Dockerfile specifies image to base installation, adds extra packages, copy files and configures applications ● Container started with port forwarding
  • 24. 27 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Dockerfile FROM ubuntucore MAINTAINER Breno Leitao RUN apt-get update && apt-get install -y php5 libapache2-mod-php5 php5-mysql php5-cli && apt-get clean && rm -rf /var/lib/apt/lists/* ENV APACHE_RUN_USER www-data ENV APACHE_RUN_GROUP www-data ENV APACHE_LOG_DIR /var/log/apache2 ENV APACHE_PID_FILE /var/run/apache2/apache2.pid ENV APACHE_RUN_DIR /var/run/apache2 ENV APACHE_LOCK_DIR /var/lock/apache2 EXPOSE 80 CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"] Instruction set: https://docs.docker.com/reference/builder/
  • 25. 28 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Building the container ~/apache# docker build –tag=“apache2“ . ● Sending build context to Docker daemon 2.048 kB ● Sending build context to Docker daemon ● Step 0 : FROM ubuntucore ● ---> 7b89a2b48b6a ● Step 1 : MAINTAINER Breno Leitao ● ---> Running in 956125bbc3e0 ● ---> 9325c0f1d538 ● Removing intermediate container 956125bbc3e0 ● Step 2 : RUN apt-get update && apt-get install -y php5 libapache2-mod-php5 php5-mysql php5-cli ● ---> Running in d9d33eaef00c ● Ign http://ports.ubuntu.com trusty InRelease ● ●
  • 26. 29 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Example of running Apache on Docker ● docker run -p 8080:80 -d apache2 – Starts the container in detached mode, and redirects container port 8080 to host partition port 80 ● Since it is running detached, control the container using docker commands (e.g. docker start, docker stop).
  • 27. 30 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Moving a container to other system ● docker save apache2 > apache.tar – copy apache.tar to other system ● docker load < apache.tar ● docker run ­p 8080:80 ­d apache2
  • 28. 31 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Managing containers ● There are many tools for clustering, orchestration, resource management for Docker – Docker tools: ● Swarm: Native clustering for Docker. It turns a pool of Docker hosts into a single, virtual Docker host. ● Compose: Tool for defining and running multi-container Docker applications. ● Machine:Tool that lets you install Docker Engine on virtual hosts, and manage the hosts. – Google Kubernetes: Open-source system for automating deployment, operations, and scaling of containerized applications. – Apache Mesos: Open-source cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks All these tools run on POWER
  • 29. 32 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Managing containers Shipyard is an open source GUI for managing and deploying Docker containers
  • 30. 33 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Managing containers
  • 31. 34 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Docker at insane scale on IBM Power Systems https://developer.ibm.com/bluemix/2015/11/13/docker-insane-scale-on-ibm-power-systems/
  • 32. 35 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. Conclusion ● Containers offer a flexible way of deploying applications with minimum effort. ● System resources can be used efficiently, and migration/deployment of new environments is quick and easy. ● Docker integration with cloud management tools such as Openstack provides rapid instance deployment, and multi-platform container management. ● Docker for Power Systems allow all these benefits to be used on a high performance and high reliability platform.
  • 33. 36 IBM Systems Technical Events | ibm.com/training/events © Copyright IBM Corporation 2016. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. References • Seetharami Seelam, Ogata Kazunuri, et. al. : Docker on POWER Platforms: https://www.ibm.com/developerworks/library/d-docker-on-power-linux-platf orm/ • Breno Leitao: Ubuntu Core on Docker for POWER https://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46 f2-817d-44a4f27eba32/entry/ubuntu_core_on_docker_for_power?lang=en • Jean-Tiare LE BIGOT: Getting Docker to run on Power8 https://blog.jtlebi.fr/2014/10/28/getting-docker-to-run-on-power8/ • Pradipta Banerjee: How to create a Dockerized Application for Ubuntu on Power (ppc64) Servers. http://cloudgeekz.com/114/how-to-create-a-dockerized-application-for-ubu ntu-on-power-ppc64-servers.html • Pradipta Banerjee: Docker on Ubuntu Vivid Vervet for Power LE. https://www.ibm.com/developerworks/community/blogs/fe313521-2e95-46 f2-817d-44a4f27eba32/entry/docker_on_ubuntu_vivid_vervet_for_power_ le?lang=en 36