SlideShare a Scribd company logo
Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM.
9.0
César Diniz Maciel
Executive IT Specialist
IBM Corporate Strategy
cmaciel@us.ibm.com
pCV4103 - Docker, lxc, lxd and friends
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;
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
© Copyright IBM Corporation 2015
4
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
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.
© Copyright IBM Corporation 2015
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.
© Copyright IBM Corporation 2015
Differences between Docker and virtual machines
●
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
© Copyright IBM Corporation 2015
●
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
● LXC is supported on all IBM Distros available
● Docker on POWER is no different than Docker on x86 platforms from a usability perspective
● Docker is only supported in Ubuntu 15.04 and Fedora 23 at the moment.
● Experimental at RHEL and SUSE
● LXD is only available in Ubuntu 15.04
● http://images.linuxcontainers.org contains ppc64el images
● There is a growing ecosystem of dockerized applications for POWER
● System Z also supports it
– https://www.ibm.com/developerworks/linux/linux390/docker.html
IBM POWER containers support
Installing Docker on Power Systems (after April 2015)
●
Docker now officially supported on
Ubuntu Vivid Vervet (15.04)
– Install the docker package
●
apt-get install docker.io
●
Now part of the Ubuntu distribution and maintained by Canonical.
© Copyright IBM Corporation 2015
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.
© Copyright IBM Corporation 2015
●
LXC is the base, distro independent, container infrastructure.
●
Created in IBM/LTC in 2009
●
LXD is a controller over LXD allowing new features over LXC
●
File-system snapshot
●
Migration
●
Docker is an application delivery that uses containers
technologies
●
Focused on images
●
AnotherUnionFs (AUFS)
●
Was based on LXC in the beginning, now has it own
technology called libcontainer
●
Focused on a few, hopefully 1, process
What is difference between Docker, LXC and
LXD?
LXC, LXD and Docker usage
Similar to AIX System WPAR Similar to AIX Application WPAR
Creating a Docker image
●
Simple ways to create images are:
– Debian Bootstrap (debootstrap)
– Ubuntu Core
●
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.
© Copyright IBM Corporation 2015
Creating a Docker image using debootstrap
●
From Build and use Docker on the IBM POWER Linux platform
document at IBM developerworks:
●
$ sudo apt-get install -y debootstrap
●
$ curl -o debootstrap.sh 
https://raw.githubusercontent.com/docker/docker/master/contrib/mk
image/debootstrap
●
$ chmod 755 debootstrap.sh
●
$ sudo ./debootstrap.sh ubuntu --components=main,universe trusty
●
$ sudo tar -C ubuntu -c . | docker import - ubuntu:14.04
●
$ docker tag ubuntu:14.04 ubuntu:trusty
●
$ docker tag ubuntu:14.04 ubuntu:latest
●
$ sudo rm -fr ubuntu
© Copyright IBM Corporation 2015
Creating a Docker image using Ubuntu Core
●
From Ubuntu Core on Docker for POWER
●
Download Ubuntu Core
– Example for 14.04 version:
– wget
http://cdimage.ubuntu.com/ubuntu-core/trusty/daily/current/trusty-core-ppc64el.tar.gz
●
Import the files into docker
– cat trusty-core-ppc64el.tar.gz | docker import - ubuntucore
3ad6c6616b921b10a414238a226fb39eef85d8249ac7d767e84e275aaf90ab65
●
Verify that the image was created:
– docker images
●
Assure that your image is running fine:
– docker run ubuntucore ls
© Copyright IBM Corporation 2015
Creating a Docker image using an installed system
●
Creat a tar file with the filesystem structure
– Useful to exclude /tmp, /proc, /sys and other
filesystems not needed in the image
– Example: tar cvf /tmp/ubuntu.tar ­­exclude='sys' ­­exclude='tmp' 
­­exclude='proc' *
●
Import the files into docker
– cat ubuntu.tar | docker import ­ ubuntuinstall       
3dcc622c3ef8922cceef85d8249ac7d767e84e275aaf90ab65
●
Verify that the image was created:
– docker images
●
Assure that your image is running fine:
– docker run ubuntuinstall ls
© Copyright IBM Corporation 2015
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
© Copyright IBM Corporation 2015
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
© Copyright IBM Corporation 2015
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>
© Copyright IBM Corporation 2015
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
© Copyright IBM Corporation 2015
© Copyright IBM Corporation 2015
© Copyright IBM Corporation 2015
© Copyright IBM Corporation 2015
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
© Copyright IBM Corporation 2015
Dockerfile
FROM ubuntu
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/
Example of running Apache on Docker
●
docker run -p 8080:80 -d apache
– 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).
© Copyright IBM Corporation 2015
Moving a container to other system
●
docker save apache > apache.tar
– copy apache.tar to other system
●
docker load < apache.tar
●
docker run ­p 8080:80 ­d apache
© Copyright IBM Corporation 2015
Managing containers
●
Many tools for managing docker containers
●
Tools are platform agnostic – they talk to the
docker daemon, so from the tool perspective it
does not matter the platform
●
Docker containers from multiple
systems/architectures can be managed by the
same tool
© Copyright IBM Corporation 2015
Managing containers
© Copyright IBM Corporation 2015
Shipyard is an
open source
GUI for
managing and
deploying
Docker
containers
Managing containers
© Copyright IBM Corporation 2015
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.
© Copyright IBM Corporation 2015
© Copyright IBM Corporation
2015
Continue growing your IBM skills
ibm.com/training provides a
comprehensive portfolio of skills and career
accelerators that are designed to meet all
your training needs.
• Training in cities local to you - where and
when you need it, and in the format you want
– Use IBM Training Search to locate public training classes
near to you with our five Global Training Providers
– Private training is also available with our Global Training Providers
• Demanding a high standard of quality –
view the paths to success
– Browse Training Paths and Certifications to find the
course that is right for you
• If you can’t find the training that is right for you with our
Global Training Providers, we can help.
– Contact IBM Training at dpmc@us.ibm.com
34
Global Skills Initiative
Ad

More Related Content

What's hot (20)

AutoUpgrade and Best Practices
AutoUpgrade and Best PracticesAutoUpgrade and Best Practices
AutoUpgrade and Best Practices
Jitendra Singh
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
Riyaj Shamsudeen
 
Presentation On Group Policy in Windows Server 2012 R2 By Barek-IT
Presentation On Group Policy in Windows Server 2012 R2 By Barek-ITPresentation On Group Policy in Windows Server 2012 R2 By Barek-IT
Presentation On Group Policy in Windows Server 2012 R2 By Barek-IT
Md. Abdul Barek
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
Gourav Varma
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
Markus Michalewicz
 
linux kernel overview 2013
linux kernel overview 2013linux kernel overview 2013
linux kernel overview 2013
Rohit Pratap Singh
 
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
xKinAnx
 
Under the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureUnder the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database Architecture
ScyllaDB
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
kalyanineve
 
Linux: LVM
Linux: LVMLinux: LVM
Linux: LVM
Michal Sedlak
 
Gpfs introandsetup
Gpfs introandsetupGpfs introandsetup
Gpfs introandsetup
asihan
 
Hyper-Converged Infrastructure Vx Rail
Hyper-Converged Infrastructure Vx Rail Hyper-Converged Infrastructure Vx Rail
Hyper-Converged Infrastructure Vx Rail
Jürgen Ambrosi
 
Veritas Managed Backup Services Presentation
Veritas Managed Backup Services PresentationVeritas Managed Backup Services Presentation
Veritas Managed Backup Services Presentation
Ideba
 
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASOSISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
Zózimo Rodrigues
 
A Deep Dive into ASM Redundancy in Exadata
A Deep Dive into ASM Redundancy in ExadataA Deep Dive into ASM Redundancy in Exadata
A Deep Dive into ASM Redundancy in Exadata
Emre Baransel
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
SQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoverySQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster Recovery
Michael Poremba
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)
Kenny Gryp
 
Field installation guide-v3_1
Field installation guide-v3_1Field installation guide-v3_1
Field installation guide-v3_1
Ganesh Joshi Regmi
 
AutoUpgrade and Best Practices
AutoUpgrade and Best PracticesAutoUpgrade and Best Practices
AutoUpgrade and Best Practices
Jitendra Singh
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
Riyaj Shamsudeen
 
Presentation On Group Policy in Windows Server 2012 R2 By Barek-IT
Presentation On Group Policy in Windows Server 2012 R2 By Barek-ITPresentation On Group Policy in Windows Server 2012 R2 By Barek-IT
Presentation On Group Policy in Windows Server 2012 R2 By Barek-IT
Md. Abdul Barek
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
Gourav Varma
 
MAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19cMAA Best Practices for Oracle Database 19c
MAA Best Practices for Oracle Database 19c
Markus Michalewicz
 
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
Ibm spectrum scale fundamentals workshop for americas part 4 spectrum scale_r...
xKinAnx
 
Under the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database ArchitectureUnder the Hood of a Shard-per-Core Database Architecture
Under the Hood of a Shard-per-Core Database Architecture
ScyllaDB
 
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...
Sandesh Rao
 
Linux command ppt
Linux command pptLinux command ppt
Linux command ppt
kalyanineve
 
Gpfs introandsetup
Gpfs introandsetupGpfs introandsetup
Gpfs introandsetup
asihan
 
Hyper-Converged Infrastructure Vx Rail
Hyper-Converged Infrastructure Vx Rail Hyper-Converged Infrastructure Vx Rail
Hyper-Converged Infrastructure Vx Rail
Jürgen Ambrosi
 
Veritas Managed Backup Services Presentation
Veritas Managed Backup Services PresentationVeritas Managed Backup Services Presentation
Veritas Managed Backup Services Presentation
Ideba
 
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASOSISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
SISTEMÁTICA DE BACKUP: UM ESTUDO DE CASO
Zózimo Rodrigues
 
A Deep Dive into ASM Redundancy in Exadata
A Deep Dive into ASM Redundancy in ExadataA Deep Dive into ASM Redundancy in Exadata
A Deep Dive into ASM Redundancy in Exadata
Emre Baransel
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
SQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoverySQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster Recovery
Michael Poremba
 
MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)MySQL Group Replication - Ready For Production? (2018-04)
MySQL Group Replication - Ready For Production? (2018-04)
Kenny Gryp
 

Similar to Docker on Power Systems (20)

docker
dockerdocker
docker
Cesar Maciel
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
Amr Fawzy
 
Docker+java
Docker+javaDocker+java
Docker+java
DPC Consulting Ltd
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
Samuel Chow
 
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
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
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
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
David Currie
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
David Currie
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
Anvay Patil
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
Geeta Vinnakota
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
thehoagie
 
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
 
An Introduction To Docker
An Introduction To DockerAn Introduction To Docker
An Introduction To Docker
James fraser
 
Docker
DockerDocker
Docker
Abhishek Tomar
 
Using Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsUsing Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and Jenkins
Micael Gallego
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR
 
Docker Up and Running for Web Developers
Docker Up and Running for Web DevelopersDocker Up and Running for Web Developers
Docker Up and Running for Web Developers
Amr Fawzy
 
Docker primer and tips
Docker primer and tipsDocker primer and tips
Docker primer and tips
Samuel Chow
 
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
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
InfluxData
 
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
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
Introduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUGIntroduction to Docker - IndiaOpsUG
Introduction to Docker - IndiaOpsUG
Ajeet Singh Raina
 
IBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and DockerIBM WebSphere Application Server traditional and Docker
IBM WebSphere Application Server traditional and Docker
David Currie
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
David Currie
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
Anvay Patil
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
Geeta Vinnakota
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
thehoagie
 
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
 
An Introduction To Docker
An Introduction To DockerAn Introduction To Docker
An Introduction To Docker
James fraser
 
Using Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and JenkinsUsing Docker to build and test in your laptop and Jenkins
Using Docker to build and test in your laptop and Jenkins
Micael Gallego
 
Ad

Recently uploaded (19)

Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
Understanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep WebUnderstanding the Tor Network and Exploring the Deep Web
Understanding the Tor Network and Exploring the Deep Web
nabilajabin35
 
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...Mobile database for your company telemarketing or sms marketing campaigns. Fr...
Mobile database for your company telemarketing or sms marketing campaigns. Fr...
DataProvider1
 
DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)DNS Resolvers and Nameservers (in New Zealand)
DNS Resolvers and Nameservers (in New Zealand)
APNIC
 
Perguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolhaPerguntas dos animais - Slides ilustrados de múltipla escolha
Perguntas dos animais - Slides ilustrados de múltipla escolha
socaslev
 
5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx5-Proses-proses Akuisisi Citra Digital.pptx
5-Proses-proses Akuisisi Citra Digital.pptx
andani26
 
Best web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you businessBest web hosting Vancouver 2025 for you business
Best web hosting Vancouver 2025 for you business
steve198109
 
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 SupportReliable Vancouver Web Hosting with Local Servers & 24/7 Support
Reliable Vancouver Web Hosting with Local Servers & 24/7 Support
steve198109
 
IT Services Workflow From Request to Resolution
IT Services Workflow From Request to ResolutionIT Services Workflow From Request to Resolution
IT Services Workflow From Request to Resolution
mzmziiskd
 
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingTop Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHosting
steve198109
 
Determining Glass is mechanical textile
Determining  Glass is mechanical textileDetermining  Glass is mechanical textile
Determining Glass is mechanical textile
Azizul Hakim
 
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC Update, presented at NZNOG 2025 by Terry Sweetser
APNIC
 
highend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptxhighend-srxseries-services-gateways-customer-presentation.pptx
highend-srxseries-services-gateways-customer-presentation.pptx
elhadjcheikhdiop
 
Computers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers NetworksComputers Networks Computers Networks Computers Networks
Computers Networks Computers Networks Computers Networks
Tito208863
 
OSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description fOSI TCP IP Protocol Layers description f
OSI TCP IP Protocol Layers description f
cbr49917
 
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation TemplateSmart Mobile App Pitch Deck丨AI Travel App Presentation Template
Smart Mobile App Pitch Deck丨AI Travel App Presentation Template
yojeari421237
 
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025
APNIC
 
project_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptxproject_based_laaaaaaaaaaearning,kelompok 10.pptx
project_based_laaaaaaaaaaearning,kelompok 10.pptx
redzuriel13
 
White and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptxWhite and Red Clean Car Business Pitch Presentation.pptx
White and Red Clean Car Business Pitch Presentation.pptx
canumatown
 
(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security(Hosting PHising Sites) for Cryptography and network security
(Hosting PHising Sites) for Cryptography and network security
aluacharya169
 
Ad

Docker on Power Systems

  • 1. Technical University/Symposia materials may not be reproduced in whole or in part without the prior written permission of IBM. 9.0 César Diniz Maciel Executive IT Specialist IBM Corporate Strategy [email protected] pCV4103 - Docker, lxc, lxd and friends
  • 2. 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. 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 © Copyright IBM Corporation 2015
  • 4. 4
  • 5. 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. 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. © Copyright IBM Corporation 2015
  • 7. 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. © Copyright IBM Corporation 2015
  • 8. Differences between Docker and virtual machines ● 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 © Copyright IBM Corporation 2015
  • 9. ● 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. ● LXC is supported on all IBM Distros available ● Docker on POWER is no different than Docker on x86 platforms from a usability perspective ● Docker is only supported in Ubuntu 15.04 and Fedora 23 at the moment. ● Experimental at RHEL and SUSE ● LXD is only available in Ubuntu 15.04 ● http://images.linuxcontainers.org contains ppc64el images ● There is a growing ecosystem of dockerized applications for POWER ● System Z also supports it – https://www.ibm.com/developerworks/linux/linux390/docker.html IBM POWER containers support
  • 11. Installing Docker on Power Systems (after April 2015) ● Docker now officially supported on Ubuntu Vivid Vervet (15.04) – Install the docker package ● apt-get install docker.io ● Now part of the Ubuntu distribution and maintained by Canonical. © Copyright IBM Corporation 2015
  • 12. 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. © Copyright IBM Corporation 2015
  • 13. ● LXC is the base, distro independent, container infrastructure. ● Created in IBM/LTC in 2009 ● LXD is a controller over LXD allowing new features over LXC ● File-system snapshot ● Migration ● Docker is an application delivery that uses containers technologies ● Focused on images ● AnotherUnionFs (AUFS) ● Was based on LXC in the beginning, now has it own technology called libcontainer ● Focused on a few, hopefully 1, process What is difference between Docker, LXC and LXD?
  • 14. LXC, LXD and Docker usage Similar to AIX System WPAR Similar to AIX Application WPAR
  • 15. Creating a Docker image ● Simple ways to create images are: – Debian Bootstrap (debootstrap) – Ubuntu Core ● 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. © Copyright IBM Corporation 2015
  • 16. Creating a Docker image using debootstrap ● From Build and use Docker on the IBM POWER Linux platform document at IBM developerworks: ● $ sudo apt-get install -y debootstrap ● $ curl -o debootstrap.sh https://raw.githubusercontent.com/docker/docker/master/contrib/mk image/debootstrap ● $ chmod 755 debootstrap.sh ● $ sudo ./debootstrap.sh ubuntu --components=main,universe trusty ● $ sudo tar -C ubuntu -c . | docker import - ubuntu:14.04 ● $ docker tag ubuntu:14.04 ubuntu:trusty ● $ docker tag ubuntu:14.04 ubuntu:latest ● $ sudo rm -fr ubuntu © Copyright IBM Corporation 2015
  • 17. Creating a Docker image using Ubuntu Core ● From Ubuntu Core on Docker for POWER ● Download Ubuntu Core – Example for 14.04 version: – wget http://cdimage.ubuntu.com/ubuntu-core/trusty/daily/current/trusty-core-ppc64el.tar.gz ● Import the files into docker – cat trusty-core-ppc64el.tar.gz | docker import - ubuntucore 3ad6c6616b921b10a414238a226fb39eef85d8249ac7d767e84e275aaf90ab65 ● Verify that the image was created: – docker images ● Assure that your image is running fine: – docker run ubuntucore ls © Copyright IBM Corporation 2015
  • 18. Creating a Docker image using an installed system ● Creat a tar file with the filesystem structure – Useful to exclude /tmp, /proc, /sys and other filesystems not needed in the image – Example: tar cvf /tmp/ubuntu.tar ­­exclude='sys' ­­exclude='tmp'  ­­exclude='proc' * ● Import the files into docker – cat ubuntu.tar | docker import ­ ubuntuinstall        3dcc622c3ef8922cceef85d8249ac7d767e84e275aaf90ab65 ● Verify that the image was created: – docker images ● Assure that your image is running fine: – docker run ubuntuinstall ls © Copyright IBM Corporation 2015
  • 19. 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 © Copyright IBM Corporation 2015
  • 20. 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 © Copyright IBM Corporation 2015
  • 21. 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> © Copyright IBM Corporation 2015
  • 22. 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 © Copyright IBM Corporation 2015
  • 23. © Copyright IBM Corporation 2015
  • 24. © Copyright IBM Corporation 2015
  • 25. © Copyright IBM Corporation 2015
  • 26. 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 © Copyright IBM Corporation 2015
  • 27. Dockerfile FROM ubuntu 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. Example of running Apache on Docker ● docker run -p 8080:80 -d apache – 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). © Copyright IBM Corporation 2015
  • 29. Moving a container to other system ● docker save apache > apache.tar – copy apache.tar to other system ● docker load < apache.tar ● docker run ­p 8080:80 ­d apache © Copyright IBM Corporation 2015
  • 30. Managing containers ● Many tools for managing docker containers ● Tools are platform agnostic – they talk to the docker daemon, so from the tool perspective it does not matter the platform ● Docker containers from multiple systems/architectures can be managed by the same tool © Copyright IBM Corporation 2015
  • 31. Managing containers © Copyright IBM Corporation 2015 Shipyard is an open source GUI for managing and deploying Docker containers
  • 32. Managing containers © Copyright IBM Corporation 2015
  • 33. 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. © Copyright IBM Corporation 2015
  • 34. © Copyright IBM Corporation 2015 Continue growing your IBM skills ibm.com/training provides a comprehensive portfolio of skills and career accelerators that are designed to meet all your training needs. • Training in cities local to you - where and when you need it, and in the format you want – Use IBM Training Search to locate public training classes near to you with our five Global Training Providers – Private training is also available with our Global Training Providers • Demanding a high standard of quality – view the paths to success – Browse Training Paths and Certifications to find the course that is right for you • If you can’t find the training that is right for you with our Global Training Providers, we can help. – Contact IBM Training at [email protected] 34 Global Skills Initiative

Editor's Notes

  • #2: © Copyright IBM Corporation 2014 &amp;lt;number&amp;gt;
  • #3: © Copyright IBM Corporation 2014 &amp;lt;number&amp;gt; Notes: Instructor notes: Purpose — List the unit objectives Details — Additional information — Transition statement —
  • #4: &amp;lt;number&amp;gt;
  • #7: &amp;lt;number&amp;gt;
  • #8: &amp;lt;number&amp;gt;
  • #9: &amp;lt;number&amp;gt;
  • #12: &amp;lt;number&amp;gt;
  • #13: &amp;lt;number&amp;gt;
  • #16: &amp;lt;number&amp;gt;
  • #17: &amp;lt;number&amp;gt;
  • #18: &amp;lt;number&amp;gt;
  • #19: &amp;lt;number&amp;gt;
  • #20: &amp;lt;number&amp;gt;
  • #21: &amp;lt;number&amp;gt;
  • #22: &amp;lt;number&amp;gt;
  • #23: &amp;lt;number&amp;gt;
  • #24: &amp;lt;number&amp;gt;
  • #25: &amp;lt;number&amp;gt;
  • #26: &amp;lt;number&amp;gt;
  • #27: &amp;lt;number&amp;gt;
  • #29: &amp;lt;number&amp;gt;
  • #30: &amp;lt;number&amp;gt;
  • #31: &amp;lt;number&amp;gt;
  • #32: &amp;lt;number&amp;gt;
  • #33: &amp;lt;number&amp;gt;
  • #34: &amp;lt;number&amp;gt;