Projets-2015-2016-IaaS Docker

From air
Jump to navigation Jump to search

Project presentation

Introduction

The objective of this project is to allow a user group (member) to pool their laptops or desktop in order to calculate big data of few users. To do so, the solution should work with Docker to virtualize user machines and control the use of resources of each machine.

The team

RICM5 students

  • EUDES Robin
  • DAMOTTE Alan
  • BARTHELEMY Romain
  • MAMMAR Malek
  • GUO Kai

DUT Students

  • BONNARD Loïc
  • CAPERAN Théo

Supervisors Pierre-Yves Gibello (Linagora), Vincent Zurczak (Linagora), Didier Donsez

Delivarables

Github repository

Waffle.io

What is Docker?

Overview

Docker allows you to package an application with all of its dependencies into a standardized unit for software development. Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in. Lightweight Containers running on a single machine all share the same operating system kernel so they start instantly and make more efficient use of RAM. Images are constructed from layered filesystems so they can share common files, making disk usage and image downloads much more efficient. Open Docker containers are based on open standards allowing containers to run on all major Linux distributions and Microsoft operating systems with support for every infrastructure. Secure Containers isolate applications from each other and the underlying infrastructure while providing an added layer of protection for the application.

How is this different from virtual machines?

Containers have similar resource isolation and allocation benefits as virtual machines but a different architectural approach allows them to be much more portable and efficient.

Virtual Machines

File:VM vsContainer.png 500px 500px center Each virtual machine includes the application, the necessary binaries and libraries and an entire guest operating system - all of which may be tens of GBs in size.

Containers

File:Container vsVM.jpg Containers include the application and all of its dependencies, but share the kernel with other containers. They run as an isolated process in userspace on the host operating system. They’re also not tied to any specific infrastructure – Docker containers run on any computer, on any infrastructure and in any cloud.

Planning

Week 1: January 25th - February 1st

  • Getting familiar with Docker (for some of the group members)
  • Fix Docker's DNS issue using public network (wifi-campus/eduroam)
  • Contacting our supervisors
  • First thoughts on this project, what we could do

Useful links