PRUG November 2013
Linux container engine
Created to pack, ship, and run any app as a lightweight, portable, self-sufficient container.
Initially released March 2013
Currently in 0.7 version.
Written in Go
by Docker Inc. (formerly Dotcloud)
Apache License 2.0
Linux Containers
Provides a lightweight virtualization that runs processes in isolation. Based on cgroups & Linux kernel features.
Containers does not include separate operating system.
Production ready
Heroku stack is based on the project.
version 1.0 Scheduled for February 2014 ;-)
So basically:
chroot < docker < virtual machines
Actually one process group.
By default Docker creates docker0 bridge
Before a container starts, Docker will allocate an IP address in the pool, and setup a virtual ethernet interface for the container
You can specify open ports.
You can map ports from host system to container.
When a container stops, the IP address is given back to the pool, ports are also released.
IPv4 only
You can inject ENV variables into containers.
You can link containers using syntax:
-link container_name_mongo:mongo
ENV variables set to current values: MONGO_PORT_27017_TCP_ADDR MONGO_PORT_27017_TCP_PORT
Maybe You don't have to.
Docker Index contains thousands of community created container images.
Most of them are experiments.
Stars
Trusted builds.
FROM stackbrew/ubuntu:saucy MAINTAINER Tomasz Tokarski tomasz@tomasztokarski.com RUN apt-get update RUN apt-get install -y ruby2.0 ruby2.0-dev git curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev RUN gem install bundler -v 1.5.0.rc.1 --no-ri --no-rdoc RUN gem install berkshelf-solo --no-ri --no-rdoc ADD Gemfile /Gemfile ADD Gemfile.lock /Gemfile.lock RUN bundle -j 8 ADD Berksfile /Berksfile ADD node.json /node.json ADD solo.rb /solo.rb RUN berks vendor RUN chef-solo -c solo.rb -j node.json RUN npm install -g karma RUN npm install -g coffee-script RUN npm install -g karma-coffee-preprocessor CMD ["start", "/karma/karma.js"] ENTRYPOINT ["karma"]
See the repo at github.com/tiokksar/docker-karma