Nodejs OC Docker and Node

Preview:

DESCRIPTION

Talk from the September 10, 2014 Nodejs OC meetup, about using Docker and Nodejs.

Citation preview

WELCOME

J E F F R E Y H O R NW E B D E V E L O P E R

+

W H AT A R E W E TA L K I N G A B O U T ?

What is Docker and why should I use it?

Show you an example project.

Overview of the different tools.

W H AT I S D O C K E R ?

A T O O L T O PA C K A G E A N A P P L I C AT I O N A N D I T S D E P E N D E N C I E S I N T O A V I R T U A L

C O N TA I N E R T H AT C A N R U N O N A N Y L I N U X S E R V E R

S E R V E RO S

H Y P E R V I S O R

S E R V E RO S

D O C K E R E N G I N E

A P P 1

B I N /L I B S

A P P 2

B I N /L I B S

VMs

CONTAINERS

G U E S T O S

B I N / L I B S

A P P 2

G U E S T O S

B I N / L I B S

A P P 1

W H Y D O C K E R

• Light weight and portable

• Works on any Linux server (cloud, bare metal)

• Use any language or tool chain

• Encapsulate application code and dependancies

• Configuration is simple

W H Y D O C K E R AT Z I L L O W

• We use service oriented architecture

• Separation of concerns between Ops and Developers

• Repeatability

• Great for testing

• Low overhead to run new containers to test out new technology

P R O B L E M S W E ’ V E H A D

• It’s new technology and not quite complete

• When to use Docker and when not to use

• Running containers on multiple hosts

• Seeing whats happening inside the container

E X A M P L E

D O C K E R F I L E

• Heart of every image

• Images stack on top of each other

• When writing Dockerfiles take advantage of caching

• General stuff at top

• Specific stuff at the bottom

U B U N T U 1 4 . 0 4

C U R L & G I T

/ A P P

A P P L I C AT I O N C O D E

N E W C O N TA I N E R

D O C K E R R E G I S T R Y

• A lot like GitHub

• Build and push images to a repo

• You can update and push to repos

• You can pull down images and run on any linux server

• Docker Hub, Quay.io, or host your own

?

O R C H E S T R AT I O N

• It’s hard

• They are working on it

• In the mean time lots of frameworks

• Fig, Consul, Centurion, Kubernetes, and lots more

F I G

• Map one to one with docker commands

• IMHO it’s way easier to see how your containers are built

• Handles starting and stoping multiple containers

• Only works on a single host

• Owned by docker and will probably be rolled into the main project

Q U E S T I O N S ?