Dockerfile basics | docker workshop #1 at Rackspace
Upcoming SlideShare
Loading in...5
×
 

Dockerfile basics | docker workshop #1 at Rackspace

on

  • 3,731 views

 

Statistics

Views

Total Views
3,731
Views on SlideShare
2,742
Embed Views
989

Actions

Likes
5
Downloads
33
Comments
0

8 Embeds 989

http://blog.docker.io 758
http://irrlab.com 139
https://twitter.com 48
http://irrlab.wordpress.com 24
http://blog.docker.com 15
http://cloud.feedly.com 3
http://moderation.local 1
http://plus.url.google.com 1
More...

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Dockerfile basics | docker workshop #1 at Rackspace Dockerfile basics | docker workshop #1 at Rackspace Presentation Transcript

  • Dockerfile basics docker workshop #1 at GeekDom / Rackspace
  • Dockerfiles • Dockerfiles = image representations • Simple syntax for building images • Automate and script the images creation
  • FROM • Sets the base image for subsequent instructions • Usage: FROM <image> • Example: FROM ubuntu • Needs to be the first instruction of every Dockerfile • TIP: find images with the command: docker search
  • RUN • Executes any commands on the current image and commit the results • Usage: RUN <command> • Example: RUN apt-get install –y memcached FROM ubuntu RUN apt-get install -y memcached • Is equivalent to: docker run ubuntu apt-get install -y memcached docker commit XXX
  • docker build • Creates an image from a Dockerfile • From the current directory = docker build • From stdin = docker build - < Dockerfile • From GitHub = docker build github.com/creack/docker-firefox • TIP: Use –t to tag your image
  • Example: Memcached FROM ubuntu RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list RUN apt-get update RUN apt-get install -y memcached • http://instacached.com/D1 • Docker build –t memcached .
  • # Commenting • # • http://instacached.com/D2 # Memcached # # VERSION 1.0 # use the ubuntu base image provided by dotCloud FROM ubuntu # make sure the package repository is up to date RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list RUN apt-get update # install memcached RUN apt-get install -y memcached
  • MAINTAINER • specify name / contact of the person maintaining the Dockerfile • Example: MAINTAINER Yannis, yannis@dotcloud.com • http://instacached.com/D3 # Memcached # # VERSION 1.0 # use the ubuntu base image provided by dotCloud FROM ubuntu MAINTAINER Yannis, yannis@dotcloud.com # make sure the package repository is up to date RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list RUN apt-get update # install memcached RUN apt-get install -y memcached
  • ENTRYPOINT 1/2 • Triggers a command as soon as the container starts • Example: ENTRYPOINT echo “Whale You Be My Container?” • http://instacached.com/D4 # Whale you be my container? # # VERSION 0.42 # use the base image provided by dotCloud FROM base MAINTAINER Victor Coisne victor.coisne@dotcloud.com # say hello when the container is launched ENTRYPOINT echo "Whale you be my container"
  • ENTRYPOINT 2/2 • Run containers as executables! :) • cat /etc/passwd | docker run -i wc • http://instacached.com/D5 # This is wc # # VERSION 0.42 # use the base image provided by dotCloud FROM base MAINTAINER Victor Coisne victor.coisne@dotcloud.com # count lines with wc ENTRYPOINT ["wc", "-l"]
  • USER • Sets the username to use when running the image • Example: USER daemon
  • EXPOSE • Sets ports to be publicly exposed when running the image • Example: EXPOSE 11211
  • Memcached • http://instacached.com/Dockerfile • docker build -t memcached - < Dockerfile • docker run memcached • BOOM! :) • Try it • Python: http://instacached.com/test.py.txt • Ruby: http://instacached.com/test.rb.txt • PHP: http://instacached.com/test.php.txt
  • Online Dockerfile Tutorials • Check our Dockerfile tutorials and test your skills here: http://www.docker.io/learn/dockerfile/
  • Thank you • GeekDom SF • Rackspace • Docker / dotCloud • Blake Haggerty • Robert Hrdinsky • You!
  • www.docker.io