66

Docker 1.10 1.11

Embed Size (px)

Citation preview

Page 1: Docker 1.10 1.11
Page 2: Docker 1.10 1.11

Daniel CHAFFIOLSofteam Cadextan (1999)

BNP-Paribas

Société Générale

Amundi Asset ManagementHSBC

Page 3: Docker 1.10 1.11

VonCStack Overflow(2008)

Git - Hg – SVN - ClearCase

Golang - Docker

Eclipse - Jenkins

Page 4: Docker 1.10 1.11
Page 5: Docker 1.10 1.11
Page 6: Docker 1.10 1.11
Page 9: Docker 1.10 1.11
Page 10: Docker 1.10 1.11

Blessed Staging External

Company Outside

master master_ext

mastermaster_ext

Page 11: Docker 1.10 1.11

Blessed /Staging /External /

NGiNX Apache LDAP

Gpg2

Gitolite

HooksGitrepos

MCronData

SSHD

Page 14: Docker 1.10 1.11
Page 15: Docker 1.10 1.11
Page 16: Docker 1.10 1.11

git clone https//github.com/VonC/b2d

cd b2d

senv

r

t

s

Page 17: Docker 1.10 1.11

git clone https//github.com/VonC/b2d

cd b2d

senv

r

t

s

dmssh <env><kv/blessed/staging/external>

cdd

n

Page 18: Docker 1.10 1.11
Page 19: Docker 1.10 1.11

OS distro (Host)

Linux distro (VM)

OS Kernel Hardware

Hypervisor (type 2)

Linux Kernel Hardware

Application

Virtual Machine

Linux distro (Host)

Files (Docker)

Linux Kernel Hardware

Docker Engine

[Application]

Docker

Page 20: Docker 1.10 1.11

Linux distro (Host)

Container(user space)

KernelSpace

Process

System calls

Page 22: Docker 1.10 1.11
Page 23: Docker 1.10 1.11

Linux distro (Host)

Dockerfile:

FROM ubuntu

Ubuntu

NGiNXRUN \ add-apt-repository -y ppa:nginx/stable && \ apt-get update && \ apt-get install -y nginx

Config file

COPY env.conf /home/git/RUN ln -fs /home/git/env.conf /etc/nginx/nginx.conf

EXPOSE 80EXPOSE 443

ENTRYPOINT ["/bin/sh", "-c"]CMD ["nginx"]

Page 24: Docker 1.10 1.11

StatusCommands

Linux distro (Host)

Config file

NGiNX

Ubuntu

Ubuntu

NGiNX

Config files

files updates

docker start/run Up

docker create Created

Page 25: Docker 1.10 1.11

StatusCommands

Linux distro (Host)

Config file

NGiNX

Ubuntu

Ubuntu

NGiNX

Config files

docker rm

docker start/run Up

docker create Created

docker stop/kill Exited

Page 26: Docker 1.10 1.11

○○○

Page 27: Docker 1.10 1.11
Page 28: Docker 1.10 1.11
Page 29: Docker 1.10 1.11

Blessed Staging External

Company Outside

master master_ext

mastermaster_ext

Page 30: Docker 1.10 1.11

Blessed /Staging /External /

NGiNX Apache LDAP

Gpg2

Gitolite

HooksGitrepos

MCronData

SSHD

Page 31: Docker 1.10 1.11
Page 32: Docker 1.10 1.11

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

one docker daemon

Page 33: Docker 1.10 1.11

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

one docker daemon

Page 34: Docker 1.10 1.11
Page 35: Docker 1.10 1.11

LDAP

Gpg2

Gitolite

HooksGitrepos

Data

Page 36: Docker 1.10 1.11

Apache LDAP

Gpg2

Gitolite

HooksGitrepos

MCronData

SSHD

Page 37: Docker 1.10 1.11

NGiNX Apache LDAP

Gpg2

Gitolite

HooksGitrepos

MCronData

SSHD

Page 38: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

Page 39: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

Page 40: Docker 1.10 1.11
Page 41: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

Page 42: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

Page 43: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

Page 44: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

SSHD

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

?

Page 45: Docker 1.10 1.11
Page 46: Docker 1.10 1.11
Page 47: Docker 1.10 1.11
Page 50: Docker 1.10 1.11
Page 54: Docker 1.10 1.11
Page 56: Docker 1.10 1.11
Page 57: Docker 1.10 1.11
Page 58: Docker 1.10 1.11
Page 61: Docker 1.10 1.11
Page 62: Docker 1.10 1.11

Linux distro (Host)

Data Container

(for instance)

/home/git/repositories

KernelSpace

Page 63: Docker 1.10 1.11

Linux distro (Host)

Data Container

(for instance)

/home/git/repositories

KernelSpace

Page 64: Docker 1.10 1.11
Page 65: Docker 1.10 1.11

NGiNX Apache LDAP

brblessed

one docker daemon

Page 66: Docker 1.10 1.11

one docker daemon

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

NGiNX

Apache

LDAP

Gpg2

Gitolite

Hooks

Gitrepos

MCron

Data

br2staging

apache.upstream.cont