Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Docker - The Linux container
1. s
Docker: The Linux container
Date: 14-Sep-2013
Name: Balaji Rajan
http://barcampbangalore.org/bcb/bcb14/docker-lightweight-containerhttp://barcampbangalore.org/bcb/bcb14/docker-lightweight-container
2. Docker is an open source project to pack, ship and run any
application as a lightweight container.
Docker containers are both hardware-agnostic and platform-
agnostic. This means that they can run anywhere, from your laptop
to the largest EC2 compute instance and everything in between - and
they don't require that you use a particular language, framework or
packaging system. That makes them great building blocks for
deploying and scaling web apps, databases and backend services
without depending on a particular stack or provider.
3. LXC - LinuX Container
So basically docker is a tool to create and work
with linux containers(lxc).
Lxc is an operating system-level virtualization
method for running multiple isolated Linux
systems (containers) on a single control host.
● So, LXC provides a way to run mini operating
systems in your Linux host operating system.
4. ● So, LXC provides a way to run mini operating
systems in your Linux host operating system.
5. Then.. what is Virtual
Machine ???
● VM runs on(above) the Host operating system as
a full fledged OS and uses isolated process spaces.
● Docker runs with Host Operating system as its
share the host process spaces.
6.
7.
8. What’s the use of Docker
There is no need to install Virtual Box and download an OS
image and wait for several minutes to boot it up.
● Size: VMs are very large which makes them impractical to
store and transfer.
● Performance: running VMs consumes significant CPU and
memory, which makes them impractical in many scenarios,
for example local development of multi-tier applications, and
large-scale deployment of cpu and memory-intensive
applications on large numbers of machines.
9. ● Throwable Sandboxes: Can create a container in a
minute to test your stuffs and tear it down.
● Elegant Application Delivery: Containers allow you to
package just about any application. You could add the
dependencies of the application in the container itself.
Ex: mysql service
● Docker makes containers reusable
● Uniform development and production Environments
ex: ruby 1.9 and 2.0
10. #CLI
● #docker pull ubuntu
It will pull the base Ubuntu container from Docker
Index.
● #docker run -t -i ubuntu apt-get install curl
It will install the cURL package inside your base
ubuntu image.
● #docker ps -a
This will give you a list of images, their IDs and
the command that was run