Skip to content

Instantly share code, notes, and snippets.

@crquan
Forked from ryanj/gist-reveal.it-slides.html
Last active August 29, 2015 14:02
Show Gist options
  • Save crquan/e6adbde7ec2766fd8c17 to your computer and use it in GitHub Desktop.
Save crquan/e6adbde7ec2766fd8c17 to your computer and use it in GitHub Desktop.
<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