Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Docker in OpenStack


Published on

Slides from the meetup co-organized by Athens OpenStack User Group and Docker Athens.
We explore the relationship and integration between OpenStack and Docker as rapidly emerging technologies.

Published in: Technology
  • Be the first to comment

Docker in OpenStack

  1. 1. Docker in OpenStack Joint Athens OpenStack User Group and Docker Athens Meetup, 24th September 2014 Thanassis Parathyras, @parathyras
  2. 2. Announcements • Join at OpenStack Summit ( • 3-7 November, Paris • Contact me for a discount code
  3. 3. OpenStack’s mission “to produce the ubiquitous Open Source Cloud Computing platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable”
  4. 4. Docker, what is it? “an open platform for developers and sysadmins to build, ship, and run distributed applications”
  5. 5. VMs and Containers Smaller resource footprint, same level isolation
  6. 6. Docker support in OpenStack OpenStack Compute (nova) • Docker driver (since Havana) • Driver not in main source code tree – Faster dev cycles, future plan for merging • Implements OpenStack API OpenStack Orchestration (heat) • Docker plugin • Deploy and manage containers • Native Docker API
  7. 7. Under the hood
  8. 8. Case 1: Docker with Heat Assume an OpenStack with Heat operational environment 1. Install the Docker plugin in Heat cd contrib/heat-docker sudo python ./ install Check Heat property plugin_dirs includes /usr/lib/heat 2. Restart Heat Only the process "heat-engine" needs to be restarted to load the new installed plugin Use this plugin enable Docker containers as resources in Heat templates
  9. 9. Case 2: Docker with Nova Assume an OpenStack operational environment 1. Install Docker on your compute hosts 2. Fix permissions usermod -G docker nova service openstack-nova-compute restart 3. Install driver pip install -e git+ egg=novadocker
  10. 10. Case 2: Enabling Docker 1. Configure nova [DEFAULT] compute_driver = novadocker.virt.docker.DockerDriver 2. Create file /etc/nova/rootwrap.d/docker.filters # nova-rootwrap command filters for setting up network in the docker driver # This file should be owned by (and only-writeable by) the root user [Filters] # nova/virt/docker/ 'ln', '-sf', '/var/run/netns/.*' ln: CommandFilter, /bin/ln, root
  11. 11. Case 2: Using Docker • Configure glance [DEFAULT] container_formats = ami,ari,aki,bare,ovf,docker Follow the same workflow as other virt drivers: • Create/Add/Use Docker images with Glance • Create/Manage instances with Nova
  12. 12. Considerations and open issues • Containers don't aim to be a replacement for VMs – they are better for specific use cases – VMs and containers may co-exist in a cloud environment • Docker driver for nova – Lack of integration with Cinder and Neutron – Imports constraints with OpenStack API • Orchestrating containers – A different approach than treating them as another hypervisor type – Better fitted to Docker workflow • Further integration – Docker authentication through OpenStack Identity (keystone)
  13. 13. OpenStack is YOU • Documentation – Cloud Administrator Guide • Questions – • Participate – – – – #OSATH, • Contribute – code (develop, review), docs, translations, bug reports – Review system Gerrit, • Follow – @openstack
  14. 14. Thank you for being patient! Athens OpenStack User Group #OSATH Thanassis Parathyras, @parathyras