31
DOCKER COMPOSE Felipe Ruhland @ Python Floripa

Docker compose

Embed Size (px)

Citation preview

Page 1: Docker compose

DOCKER COMPOSEFelipe Ruhland @ Python Floripa

Page 2: Docker compose

DOCKERABOUT

Page 3: Docker compose

ABOUTDOCKER

written in golang

Page 4: Docker compose

ABOUTDOCKER

open-source project

Page 5: Docker compose

DOCKER

developers and sysadmins

ABOUT

Page 6: Docker compose

DOCKER

develop, ship, and run

ABOUT

Page 7: Docker compose

DOCKER

production as fast as possible

ABOUT

Page 8: Docker compose

history

Page 9: Docker compose

Solomon Hykes history

Page 10: Docker compose

history

Page 11: Docker compose

history

maincontributors

Page 12: Docker compose

JAN

$15 million(Venture Capital)

JUL

Docker acquiredOrchard (Fig)

2014

SEP

$40 million

(Sequoia Capital)

OCT

Microsoft announced integration (2016)

Page 13: Docker compose

DOCKERWHY

Page 14: Docker compose

LIGHTWEIGHTOPEN

SECURE

Page 15: Docker compose

- Faster delivery of your applications

- Deploy and scale more easily

- Get higher density and run more workloads

- Faster deployment makes for easier management

WHY DOCKER

Page 16: Docker compose

CONTAINERVM vs

Page 17: Docker compose

CONTAINERVM

Page 18: Docker compose

WORKSHOW IT

Page 19: Docker compose

HOW IT WORKS

- libcontainer (libvirt, LXC, systemd-nspawn)

- cgroups

- namespaces

- images distribution

Page 20: Docker compose

COMPOSEDOCKER

Page 21: Docker compose

DOCKER COMPOSE

Page 22: Docker compose

- Tool for defining and running multi-container applications

- Single file configuration

- Great for development environments, staging servers, and CI

- Written in python

- We don’t recommend that you use it in production yet.

DOCKER COMPOSE

Page 23: Docker compose

- Binding to different ports on the host

- Setting environment variables differently

- Specifying a restart policy

- Adding extra services

BUT

!

Page 24: Docker compose

#1define environment with Dockerfile

Page 25: Docker compose

#2define serviceswith docker-compose.yml

Page 26: Docker compose

#3docker-compose up

Page 27: Docker compose

dockerfileFROM python:2.7

ADD . /code

WORKDIR /code

RUN pip install -r requirements.txt

CMD python app.py

Page 28: Docker compose

docker-compose.ymlweb:

build: .

ports:

- "5000:5000"

volumes:

- .:/code

links:

- redis

redis:

image: redis

Page 29: Docker compose

docker-compose up$ docker-compose up

Pulling image redis...

Building web...

Starting composetest_redis_1...

Starting composetest_web_1...

redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3

web_1 | * Running on http://0.0.0.0:5000/

Page 30: Docker compose

docker compose cli

commandsbuild

logs

run

scale

up

Page 31: Docker compose

github.com/feliperuhland

feliperuhland.com

@feliperuhland

THANK YOU