Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Containerize with Docker

No description

carl wharehinga

on 20 May 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Containerize with Docker

News flash!
Containerize with Docker
Docker Planet
Welcome to
A Brief History in time... 2013-2014
* Jan 2013
: internal project for Dotcloud to manage LXC containers for PAAS offering
* Mar 2013
: Docker 0.1 release to public
* Jun 2014
: 1.0 Released
* Sep 2013
: 0.6.3 Released. Many already using it in production
* Oct 2013
: DotCloud sell dotcloud off and rebrand to Docker Inc
Containers are familiar...
provides much more than just linux container management.

A Docker container is more than just a lightweight machine!
The Docker public and private Registries
The Docker image
Bundle an application and all dependencies
Portable, simplified deployment across machines
Shared through a repository
Treat containers as applications
What other things can

help with?
Application centric approach
Portability and sharing
Simplified deployment
Component reuse
Docker file
FROM dockerfile/tomcatappserver

# Add your webapp file into your docker image
ADD mywebapp.war /var/lib/tomcat7/webapps/

# Expose TCP port 8080

# Start Tomcat server
CMD sudo service tomcat7 start && tail -f /var/log/tomcat7/catalina.out
Automatic build
Tool ecosystem
What other features...?
Developer productivity
No Waiting for Vm's to be provisioned
Continuous Integration and Delivery
Simple, quick automation is key
Developing and testing with prod like configs
Why haven't we been using them
No decent management tools
No standardisation
Not very portable
Focused only on lightweight machines
Working with the Docker registry
Packaging service up with dependancies
Low overhead, high density
Highly efficient distribution model
Small, purpose-driven services that communicate with each other through common REST APIs.
Dev Ops
Separate the build process from the deployment process
Integrates well with Developer build and Operations deployment tools
Delineation of responsibilities and areas
Deploy to any platform the same way

This space is changing all the time
Orchestration tools - kubernetes, fig, etc
New CI tools Drone, Shippable
New stuff coming out weekly

Still early days!
Virtual Machine compared to Containers
Docker Images are made up of Layers
Pushing and pulling container updates
“... run the same app, unchanged, on laptops, data center VMs, and any cloud ...”
What does Docker add to plain containers?
Larger scale architectures within reach of smaller dev teams
Immediate benefits
Speed of operations
Testability and reproducability
Operational efficiency in application management
Supports Continuous Delivery
Consolidating resources
Manage containers
The running contaner
Docker is part of RHEL7
get your feet wet
docker buiild -t wharehinga/appone .

docker commit -m="app" <ID> name:tag

docker push name:tag
docker run -p 8080:8080 -name <app1> \
-d name:tag
Full transcript