© 2014
Managing Stateful Docker Containers Using
Cloud Foundry BOSH
Ferran Rodenas – @ferdy
DOCKER!
DOCKER!
DOCKER!
Docker Monkey Dance!
Docker CF-BOSH release
https://github.com/cf-platform-eng/docker-boshrelease
• Multiple Docker containers can be orchestrated into multiple
vms
• Your choice of IaaS: AWS, OpenStack, VSphere, VCHS,
CloudStack or GCE
• Containers self-healing
• Container dependencies
• Virtual machines self-healing
• Host volumes can be bound to Docker containers
• Resize data disks on-the-fly without losing data
• Route container’s output to a remote syslog
Awesomeness!
Demo Time
- name: redis
image: "dockerfile/redis”
command: "--dir /var/lib/redis/ --appendonly yes”
bind_ports:
- "6379:6379”
bind_volumes:
- "/var/lib/redis”
entrypoint: "redis-server”
env_vars:
- "EXAMPLE_VAR=1"
Container properties
- name: elasticsearch
image: "bosh/elasticsearch”
dockerfile: |
FROM dockerfile/java
RUN 
cd /tmp && 
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gz && 
tar xvzf elasticsearch-1.1.1.tar.gz && 
rm -f elasticsearch-1.1.1.tar.gz && 
mv /tmp/elasticsearch-1.1.1 /elasticsearch
WORKDIR /data
CMD ["/elasticsearch/bin/elasticsearch"]
EXPOSE 9200
EXPOSE 9300
Container properties
Resources
Docker CF-BOSH release: https://github.com/cf-platform-eng/docker-boshrelease
Shipyard CF-BOSH release: https://github.com/cf-platform-eng/shipyard-boshrelease.git
CF-BOSH Documentation: http://docs.cloudfoundry.org/bosh/
CF-BOSH Artifacts: http://boshartifacts.cloudfoundry.org/
CF-BOSH Users mailing list:
https://groups.google.com/a/cloudfoundry.org/forum/#!forum/bosh-users
YouTube videos:
• Part 1: Orchestrating Docker containers with persistent data (http://youtu.be/h9AnuR6LkC4)
• Part 2: Containers self-healing (http://youtu.be/6-qK_nRiHok)
• Part 3: VM self-healing (http://youtu.be/HZcrX3coSfk)
• Part 4: Resizing your persistent disk (http://youtu.be/z175tLnBZ9Y)
Don’t miss Decker session!
Wednesday
Q&A

Managing Stateful Docker Containers Using Cloud Foundry BOSH

  • 1.
  • 2.
    Managing Stateful DockerContainers Using Cloud Foundry BOSH Ferran Rodenas – @ferdy
  • 3.
  • 4.
  • 5.
    • Multiple Dockercontainers can be orchestrated into multiple vms • Your choice of IaaS: AWS, OpenStack, VSphere, VCHS, CloudStack or GCE • Containers self-healing • Container dependencies • Virtual machines self-healing • Host volumes can be bound to Docker containers • Resize data disks on-the-fly without losing data • Route container’s output to a remote syslog Awesomeness!
  • 6.
  • 7.
    - name: redis image:"dockerfile/redis” command: "--dir /var/lib/redis/ --appendonly yes” bind_ports: - "6379:6379” bind_volumes: - "/var/lib/redis” entrypoint: "redis-server” env_vars: - "EXAMPLE_VAR=1" Container properties
  • 8.
    - name: elasticsearch image:"bosh/elasticsearch” dockerfile: | FROM dockerfile/java RUN cd /tmp && wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gz && tar xvzf elasticsearch-1.1.1.tar.gz && rm -f elasticsearch-1.1.1.tar.gz && mv /tmp/elasticsearch-1.1.1 /elasticsearch WORKDIR /data CMD ["/elasticsearch/bin/elasticsearch"] EXPOSE 9200 EXPOSE 9300 Container properties
  • 9.
    Resources Docker CF-BOSH release:https://github.com/cf-platform-eng/docker-boshrelease Shipyard CF-BOSH release: https://github.com/cf-platform-eng/shipyard-boshrelease.git CF-BOSH Documentation: http://docs.cloudfoundry.org/bosh/ CF-BOSH Artifacts: http://boshartifacts.cloudfoundry.org/ CF-BOSH Users mailing list: https://groups.google.com/a/cloudfoundry.org/forum/#!forum/bosh-users YouTube videos: • Part 1: Orchestrating Docker containers with persistent data (http://youtu.be/h9AnuR6LkC4) • Part 2: Containers self-healing (http://youtu.be/6-qK_nRiHok) • Part 3: VM self-healing (http://youtu.be/HZcrX3coSfk) • Part 4: Resizing your persistent disk (http://youtu.be/z175tLnBZ9Y)
  • 10.
    Don’t miss Deckersession! Wednesday
  • 11.