Download - Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS
![Page 1: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/1.jpg)
and use DOCKER toBuild, Ship and Run any App, Anywhere
FIRE YOUR SYSADMIN
SCOTLANDJS 2015 — PHIL REITHER
![Page 2: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/2.jpg)
![Page 3: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/3.jpg)
![Page 4: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/4.jpg)
![Page 5: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/5.jpg)
Django AppDatabaseFront-End
WorkersEmail
WordpressAdmin CRM
DEV DEV II LIVE STAGING QA INTERN
![Page 6: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/6.jpg)
Django AppDatabaseFront-End
WorkersEmail
WordpressAdmin CRM
DEV DEV II LIVE STAGING QA INTERN
![Page 7: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/7.jpg)
![Page 8: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/8.jpg)
![Page 9: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/9.jpg)
it’s A c
ompan
y!
![Page 10: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/10.jpg)
what’s in
the box?
code, runtime,
libs, bins
![Page 11: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/11.jpg)
Why
should I
care?
![Page 12: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/12.jpg)
• It’s the same everywhere. • Separation of concerns. • Minimal setup-up costs. • Versioned environment.
ship the
entire
environment
![Page 13: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/13.jpg)
Virtual
machine
DOCKER
![Page 14: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/14.jpg)
}Host OS
Hardware
Docker
Bins & Libs Bins &Libs
AppB
AppA’
AppA
ContainerVi
rtua
l Mac
hine{
AppA
Bins &Libs
OS
Hypervisor
Host OS
Hardware
OS
Bins &Libs
AppA’
OS
Bins &Libs
AppB
![Page 15: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/15.jpg)
~$#ps#&A#|#wc#&l#235#
~$#docker#run#ubuntu#ps#&A#PID##TTY##TIME######CMD###1##?####00:00:00##ps
Counting Processes
![Page 16: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/16.jpg)
LXC
![Page 17: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/17.jpg)
let’s
do this!
![Page 18: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/18.jpg)
![Page 19: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/19.jpg)
![Page 20: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/20.jpg)
~$#docker#search#node#NAME##DESCRIPTION####################################STARS##OFFICIAL#node##Node.js#is#a#JavaScript&based#platform#for...##685####[OK]#iojs##io.js#is#an#npm#compatible#platform#origin...##65#####[OK]##...#
~$#docker#run#node#Unable#to#find#image#'node:latest'#locally#latest:#Pulling#from#node#29809ed33dfd:#Pulling#fs#layer#...
Run an image
![Page 21: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/21.jpg)
~$#docker#run#&t#&i#ubuntu#/bin/bash#root:##
root:##apt&get#install#&y#git#Reading#package#lists...#Done#Building#dependency#tree#Reading#state#information...#Done#...
Install things
![Page 22: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/22.jpg)
~$#docker#run#&v#~/Desktop/app:/code#&t#&i#node#root:##
root:##ls#/code#[files#from#host#/src/app]
Share folders
![Page 23: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/23.jpg)
~$#docker#ps#ID############IMAGE##########COMMAND######NAME#e7bf8f45d7be##ubuntu:latest##"/bin/bash"##sick_euclid#
~$#docker#commit#sick_euclid#phil/new_image#cd9bd07d78733cb5a53fb1f41b5d2c99039fbd79a7526ce57410ca6df1e97e2b#
~$#docker#images#REPOSITORY######TAG######IMAGE#ID######VIRTUAL#SIZE#phil/new_image##latest###cd9bd07d7873##188.7#MB
Save images
![Page 24: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/24.jpg)
![Page 25: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/25.jpg)
too
easy!
![Page 26: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/26.jpg)
docker-compose.yml
settings.py
Dockerfile
/code
Container “django”
postgres
Container “db”
~/Desktop/code
![Page 27: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/27.jpg)
db:###image:#postgres#
django:###build:#.###command:#python#manage.py#runserver#0.0.0.0:8000###volumes:#####&#.:/code###ports:#####&#"8000:8000"###links:#####&#db
docker-compose.yml - [host]
![Page 28: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/28.jpg)
~$#docker&compose#up#Attaching#to#django_db_1,#django_web_1#db_1##|#LOG:##database#system#is#ready#to#accept#connections#web_1#|#Django#version#1.8.1,#using#settings#‘local.settings'#...
Install things
![Page 29: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/29.jpg)
FROM#python:2.7#ENV#PYTHONUNBUFFERED#1#RUN#mkdir#/code#WORKDIR#/code#ADD#requirements.txt#/code/#RUN#pip#install#&r#requirements.txt#ADD#.#/code/#
Dockerfile - [container “django”]
![Page 30: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/30.jpg)
...#DATABASES#=#{#####'default':#{#
####}#}#...
settings.py - [container “django”]
########'ENGINE':#'django.db.backends.postgresql_psycopg2',#########'NAME':#'postgres',#########'USER':#'postgres',#########'PORT':#5432,#########'HOST':#'db',#
![Page 31: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/31.jpg)
docker-compose.yml
settings.py
Dockerfile
/code
Container “django”
postgres
Container “db”
~/Desktop/code
![Page 32: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/32.jpg)
Docker
cheat
sheet
http://tinyurl.com/scotlandjsdocker
![Page 33: Docker: Fire your Sysadmin and use Docker to build, ship and run any app, anywhere - ScotlandJS](https://reader030.vdocuments.net/reader030/viewer/2022032714/55aabbd31a28ab4f138b45fb/html5/thumbnails/33.jpg)