-
-
Save crquan/e6adbde7ec2766fd8c17 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<section data-background-transition='zoom' data-transition='concave' data-background='http://ppcdn.500px.org/44263944/83fca51648763ed02d89bd3275a6cafbaef7e0eb/2048.jpg' data-state='blackout'> | |
<h2>Introduction to Docker</h2> | |
<p class='fragment'><small><a class='fragment' href='http://github.com/ryanj/gist-reveal.it'>presentation engine by github.com/ryanj/gist-reveal.it</a> | |
<br/> by Derek (github: @crquan), Open Source Evangelist at Cisco | |
</small></p> | |
</section> | |
<section data-background-transition='zoom' data-transition='linear'> | |
<p> | |
<span class='fragment'>Docker is Linux container engine</spam> | |
<br/><span class='fragment'>for easily crafting</span> | |
<br/><span class='fragment'>lightweight virtualized applications</span> | |
<aside class="notes"> | |
Oh hey, these are some notes. They'll be hidden in your presentation, but you can see them if you open the speaker notes window (hit 's' on your keyboard). | |
</aside> | |
</section> | |
<section> | |
<h3>Comparing to</h3> | |
<ul><li class='fragment'>Virtualization (Xen, KVM, or VM Player, VirtualBox, ...)</li> | |
<li class='fragment'>Other container tools: <span class='fragment'>chroot, </span><a class='fragment' href="https://linuxcontainers.org/">LXC</a> | |
<a class='fragment' href="https://openvz.org/">OpenVZ</a></li> | |
</ul> | |
</section> | |
<section> | |
<h2>Install Docker</h2> | |
<ul><li class='fragment'>install on Linux native | |
<ul><li class='fragment'>kernel dependencies: 3.8+, and features to be built in</li> | |
<li class='fragment'>network: veth (for virtual paired ethernet), bridge, netfilter (for iptables)</li> | |
<li class='fragment'>storage: graphdriver options: aufs, btrfs, or devicemapper (thin provision)</li> | |
<li class='fragment'>execdriver: native, or lxc</li> | |
<li class='fragment'>cgroups: for resources isolation (cgroup-lite for mounting separation)</li> | |
</ul> | |
</li> | |
<li class='fragment'>pre-packaged for all major Linux distrobutions: Ubuntu, RHEL, CentOS, Debian, Gentoo, Fedora, ArchLinux, openSuSE, ...</li> | |
<li class='fragment'>pre-packaged by cloud service providers: Google, Rackspace, AWS, IBM SoftLayer, ...</li> | |
<li class='fragment'>boot2docker.iso, can be run on all other non-Linux platforms (Windows, MacOS, )</li></ul> | |
</section> | |
<section> | |
<h3>Running</h3> | |
<p class='fragment'>Docker has 2 running mode, the daemon, and the client</p> | |
<pre class='fragment'><code contenteditable>$ sudo docker -d</code></pre> | |
<pre class='fragment'><code contenteditable>$ docker version | |
Client version: 1.0.1-dev | |
Client API version: 1.12 | |
Go version (client): go1.3 | |
Git commit (client): c32036f-dirty | |
Server version: 1.0.1-dev | |
Server API version: 1.12 | |
Go version (server): go1.3 | |
Git commit (server): c32036f-dirty | |
</code></pre> | |
</section> | |
<section> | |
<h2>Who would like to use Docker?</h2> | |
<ul><li class='fragment'>for DevOps</li> | |
<li class='fragment'>for Developers</li> | |
</ul> | |
</section> | |
<section data-markdown> | |
## the Docker project (Docker Inc.) | |
- Docker Engine (Running local as daemon and client mode, written in Golang) | |
- Registry (Deployed on http://registry.hub.docker.com, written in Python) | |
- Central place for images/templates sharing | |
</section> | |
<section> | |
<h3>Build docker images with Dockerfile</h3> | |
<pre class='fragment'><code contenteditable>$ docker build ...</code></pre> | |
</section> | |
<section> | |
<h3>Share images to Docker Registry</h3> | |
<pre class='fragment'><code contenteditable>$ docker search</code></pre> | |
<pre class='fragment'><code contenteditable>$ docker pull</code></pre> | |
<pre class='fragment'><code contenteditable>$ docker push</code></pre> | |
</section> | |
<section data-markdown> | |
## security issues, do not run any untrusted application | |
- approaches the community is improving security: | |
- unprivileged mode (drop unneeded capabilities) | |
- AppArmor or SELinux | |
- user namespaces | |
</section> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment