orchestrating distributed apps with docker

18
Orchestrating Distributed Apps Carl Su Dec 29, 2014

Upload: carl-su

Post on 12-Jul-2015

1.808 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Orchestrating Distributed Apps with Docker

Orchestrating Distributed Apps

Carl SuDec 29, 2014

Page 2: Orchestrating Distributed Apps with Docker

Carl Sulinked.in/carlsu

Docker Taipei co-organizer

Container Summit speaker

PyCon APAC speaker

Docker contributor

Page 3: Orchestrating Distributed Apps with Docker

Agenda• Docker Machine

• Takes you from zero-to-Docker in seconds.

• Docker Swarm

• Native clustering for distributed apps.

• Docker Compose

• The last piece of the orchestration puzzle.

Page 4: Orchestrating Distributed Apps with Docker

Docker Machine

Page 5: Orchestrating Distributed Apps with Docker

Drivers• VirtualBox

• DigitalOcean

• Microsoft Azure

• Amazon EC2

Page 6: Orchestrating Distributed Apps with Docker

VirtualBox

Page 7: Orchestrating Distributed Apps with Docker

DigitalOcean

2. Pass your token with --digitalocean-access-token option.

1. Create a personal access token under "Apps & API".

http://goo.gl/afzD6c

Page 8: Orchestrating Distributed Apps with Docker

Microsoft Azure

1. Create a subscription with a cert.

2. Go to Settings->Manage Certificates and upload your cert.

3. Pass your subscription ID and cert to create a Docker machine.

Page 9: Orchestrating Distributed Apps with Docker

Amazon EC2

• Access Key ID

• Secret Access Key

• VPC ID

Page 10: Orchestrating Distributed Apps with Docker

Docker Swarm

Page 11: Orchestrating Distributed Apps with Docker

Native Clustering System

Page 12: Orchestrating Distributed Apps with Docker

Nodes Setup• Docker 1.4.0 or later.

• TLS authentication

• Bind Docker on a network interface.

• -H 0.0.0.0:2375

Page 13: Orchestrating Distributed Apps with Docker

Discovery• hosted discovery service

swarm join --discovery token://<token> --addr=<node_ip:2375>

• static file describing the cluster

swarm manage --discovery file:///tmp/my_cluster -H=<swarm_ip:swarm_port>

• etcd

swarm manage --discovery etcd://<etcd_ip>/<path> -H=<swarm_ip:swarm_port>

Page 14: Orchestrating Distributed Apps with Docker

Advanced Scheduling• Filters

• Constraint

• Port

• Health

• Strategies

• bin packing

• random

Page 15: Orchestrating Distributed Apps with Docker

Docker Compose

Page 16: Orchestrating Distributed Apps with Docker

Orchestration Services

Page 17: Orchestrating Distributed Apps with Docker

Reference• https://github.com/docker/machine

• https://github.com/docker/swarm

• https://github.com/docker/docker/issues/9694

• https://www.docker.com/

Page 18: Orchestrating Distributed Apps with Docker

Would You Like To Know More?

• Facebook

https://www.facebook.com/groups/docker.taipei/

• Meetup

http://www.meetup.com/Docker-Taipei/