41
Docker Management for Humans 1 Gary Paige Principal Technology Consultant at CenturyLink Labs Cloud Expo East, Jun 9th 2015

Cloud expo-east-2015

Embed Size (px)

Citation preview

Docker Management for Humans

1

Gary PaigePrincipal Technology Consultant at CenturyLink Labs

Cloud Expo East, Jun 9th 2015

Gary Paige Work at CenturyLink Labs

Previously worked at Hewlett-Packard.I am passionate about design both in code and graphics. Teaching myself Piano. I don’t like to eat things off a stick.

I am

We will talk about the human developer and how their processes can interact with containers.

Focus on Humans

+

Docker lets us use and/or create images

These images are used to create Docker containers in which your application runs

Docker effectively runs these containers as services which can be spun up in milliseconds.

hardwarehost OS

hypervisor

$ guest OS

libraries

app 1

$ guest OS $ guest OS

libraries

app 2

libraries

app 1

libraries

app 1

libraries

app 2

hardwarehost OS

libraries

app 1

hardwarehost OS

Docker Engine

libraries libraries

app 1 app 1 app 2

Docker Images

An image is controlled by a Dockerfile

docker build -t foo/bar .docker pull foo/bar

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/ruby-base:2.1.2

MAINTAINER Laura Frank <[email protected]>

EXPOSE 4567

RUN mkdir -p /usr/src/app ADD . /usr/src/app

WORKDIR /usr/src/app RUN bundle install

CMD [“ruby”, “hello_world.rb”]

Dockerfile

FROM centurylink/panamax-ruby-base:0.4.0

CMD bundle exec rake db:create && \ bundle exec rake db:migrate && \ bundle exec rake db:seed && \ bundle exec rake panamax:templates:unload && \ bundle exec rake panamax:templates:load && \ bundle exec rake panamax:job_templates:unload && \ bundle exec rake panamax:job_templates:load && \ bundle exec rails s

Example Dockerfile

RequirementsVirtualBox 4.3 or higher Vagrant 1.6 or higher

Installation$ brew install http://download.panamax.io/installer/brew/panamax.rb $ panamax init

Get Panamax

$ panamax ssh

Panamax Demo

Remote Deployment

Looks something like this

DigitalOcean Droplets

Continuous Integration and Deployment

Remote Done?

We chatted about…

• Docker and it ain’t that scary • Creating and using Images • Panamax for multi-container applications • Our continuous deployment process

An R&D team within CenturyLinkBlogs, tutorials, videos, podcasts related to Docker

http://centurylinklabs.com

Panamax:

- 12 engineers - 9 months - 3200+ cups of coffee

CenturyLink Labs Team

Docker User Guidehttps://docs.docker.com/userguide/

Panamaxhttp://panamax.io/https://github.com/CenturyLinkLabs/panamax-ui/wiki

Drayhttp://dray.it/

ImageLayershttps://imagelayers.io

Lorryhttps://lorry.io

Sources and references

Thanks!Gary Paige

argvader

@argvader