SlideShare a Scribd company logo
Alin Voinea
Eau de Web, Romania
Docker & Rancher
Docker Hub, Rancher Catalog
Summary
● Docker
○ Docker Hub
● Rancher
○ Rancher Catalog
What is Docker?
● OS level virtualization - “containerization”
● First released in 2013 - Solomon Hykes - dotCloud
● Maintained and and developed by Docker Inc.
● Lightweight than virtual machines
● Single operating-system kernel
● Portable
● Scalable
● Stackable
Running Applications w/ Docker
$ docker run plone:5
$ docker run eeacms/eionet:5.1-1.0
$ docker run registry.gitlab.com/avoinea/docker:3.5
Custom Docker Image: Dockerifle
FROM plone:5.1.5
RUN apt-get update 
&& apt-get install -y --no-install-recommends libldap2-dev libssl-dev 
&& rm -rf /var/lib/apt/lists/*
COPY site.cfg /plone/instance/
COPY docker-entrypoint.sh
RUN gosu plone buildout -c site.cfg
HEALTHCHECK --interval=1m --timeout=5s --start-period=1m 
CMD curl -f http://localhost:8080/ || exit 1
ENTRYPOINT [“/plone/instance/docker-entrypoint.sh”]
Custom Docker Image: docker-entrypoint.sh
#!/bin/bash
set -e
# Make sure that the application can write within data volume
chown -R plone:plone /data
# Move the main application to `PID 1` by using `exec`
# Use a non-root user to start your app
exec gosu plone bin/instance "$@"
Build Docker Image: devel
$ docker build -t eionet-dev /path/to/Dockerfile
$ docker run -p 8080:8080 eionet-dev
Build Docker Image: production
$ docker push eeacms/eionet
$ git tag 5.1-1.0
$ git push --tags
$ docker-compose up
$ docker-compose down
$ docker-compose down -v
Orchestration: Single host
$ docker-compose up -d
$ docker-compose scale plone=3
version: "2"
services:
plone:
image: eeacms/eionet:5.1-1.0
environment:
- ZEO_ADDRESS=zeo:8100
zeo:
image: plone:5.1.5
command: zeoserver
volumes:
- data:/data
volumes:
data:
driver: local
Orchestration: docker-compose
docker-compose.yml
Orchestration: Multiple host
version: "2"
services:
plone:
scale: 2
health_check:
healthy_threshold: 2
response_timeout: 2000
port: 8080
unhealthy_threshold: 3
interval: 5000
strategy: recreate
request_line: GET /
zeo:
scale: 1
health_check:
...
version: "2"
services:
plone:
mem_reservation: 1g
mem_limit: 2g
labels:
io.rancher.scheduler.affinity:host_label: backend=yes
io.rancher.scheduler.affinity:host_label_ne: reserved=yes
io.rancher.scheduler.affinity:container_label_soft_ne:
io.rancher.stack_service.name=$${stack_name}/$${service_name}
eu.europa.eionet.plone: true
…
volumes:
data:
driver: rancher-ebs / netapp / rancher-nfs / local
driver-opts:
size: 1g
volumeType: gp2
docker-compose.yml rancher-compose.yml
Orchestration: rancher-compose
version: "2"
catalog:
name: "Eionet - WWW"
description: "Eionet Plone 5 website"
version: "5.1-1.0"
questions:
- variable: "HOST_LABELS"
label: "Do not schedule services on
these hosts"
description: "List of host labels”
type: "string"
required: true
default: "reserved=yes"
- variable: "TZ"
...
version: "2"
services:
plone:
labels:
io.rancher.scheduler.affinity:host_label_ne:
${HOST_LABELS}
…
volumes:
data:
driver: ${DATA_VOLUME_DRIVER}
driver-opts:
{{.Values.DATA_VOLUME_DRIVER_OPTS}}
docker-compose.yml rancher-compose.yml
Rancher Catalog
$ rancher catalog ls
$ rancher catalog install 
--name www-eionet-demo 
--answers /path/to/answers.txt 
EEA:www-eionet:1
Rancher Catalog: CLI & Web UI
Rancher Catalog: answers.txt
Rancher Catalog: Upgrades & Roll-back
Rancher Load Balancer
● Service rules
● Selector rules
Thank you!
● EEA Rancher Catalog:
○ github.com/eea/eea.rancher.catalog
● Documentation
○ docker.com
○ rancher.com
● Examples
○ github.com/eea?q=docker

More Related Content

PPTX
Docker Ecosystem: Part III - Machine
Mario IC
 
PPTX
Docker orchestration
Open Source Consulting
 
PPTX
Docker Ecosystem: Part V - Docker Registry
Mario IC
 
PDF
Docker & FieldAware
Jakub Jarosz
 
PDF
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
Ruoshi Ling
 
PDF
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
PPTX
Docker Command Line, Using and Choosing containers
Will Hall
 
PDF
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 
Docker Ecosystem: Part III - Machine
Mario IC
 
Docker orchestration
Open Source Consulting
 
Docker Ecosystem: Part V - Docker Registry
Mario IC
 
Docker & FieldAware
Jakub Jarosz
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
Ruoshi Ling
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
Docker Command Line, Using and Choosing containers
Will Hall
 
파이썬 개발환경 구성하기의 끝판왕 - Docker Compose
raccoony
 

What's hot (20)

PDF
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
bridgetkromhout
 
PDF
CoreOS : 설치부터 컨테이너 배포까지
충섭 김
 
PDF
When Docker ends, Chef begins ~ #idi2015 Incontro DevOps Italia
Giovanni Toraldo
 
PDF
Docker in Production - IPC 15 München
Robert Lemke
 
PDF
Docker Compose to Production with Docker Swarm
Mario IC
 
PPTX
Hide your development environment and application in a container
Johan Janssen
 
PDF
Environment isolation with Docker (Alex Medvedev, Alpari)
Symfoniacs
 
PPTX
Docker Introduction
Jannis Kirschner
 
PDF
Docker up and running
Victor S. Recio
 
PDF
Launching containers with fleet
충섭 김
 
PDF
CoreOS Overview
Victor S. Recio
 
PPTX
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Krzysztof Sobczak
 
PDF
Docker Clustering - Batteries Included
C4Media
 
PPTX
Dockerizing a Symfony2 application
Roman Rodomansky
 
PDF
Docker introduction
cawamata
 
PDF
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
PDF
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
PDF
이미지 기반의 배포 패러다임 Immutable infrastructure
Daegwon Kim
 
PDF
Infrastructure Deployment with Docker & Ansible
Robert Reiz
 
PDF
Streamline your development environment with docker
Giacomo Bagnoli
 
Scaling Next-Generation Internet TV on AWS With Docker, Packer, and Chef
bridgetkromhout
 
CoreOS : 설치부터 컨테이너 배포까지
충섭 김
 
When Docker ends, Chef begins ~ #idi2015 Incontro DevOps Italia
Giovanni Toraldo
 
Docker in Production - IPC 15 München
Robert Lemke
 
Docker Compose to Production with Docker Swarm
Mario IC
 
Hide your development environment and application in a container
Johan Janssen
 
Environment isolation with Docker (Alex Medvedev, Alpari)
Symfoniacs
 
Docker Introduction
Jannis Kirschner
 
Docker up and running
Victor S. Recio
 
Launching containers with fleet
충섭 김
 
CoreOS Overview
Victor S. Recio
 
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Krzysztof Sobczak
 
Docker Clustering - Batteries Included
C4Media
 
Dockerizing a Symfony2 application
Roman Rodomansky
 
Docker introduction
cawamata
 
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Leo Lorieri
 
이미지 기반의 배포 패러다임 Immutable infrastructure
Daegwon Kim
 
Infrastructure Deployment with Docker & Ansible
Robert Reiz
 
Streamline your development environment with docker
Giacomo Bagnoli
 
Ad

Similar to Docker & rancher (20)

PDF
Docker and plone
Alin Voinea
 
PDF
DockerCon17 - Building The Super-Dynamic Demo Center
Michael Wilde
 
PDF
The state of the swarm
Mathieu Buffenoir
 
PPTX
Pp docker-swarm-doxlon-28th-march-2017
Bobby DeVeaux, DevOps Consultant
 
PPTX
Building a production-ready, fully-scalable Docker Swarm using Terraform & Pa...
Outlyer
 
PDF
Swarm: Native Docker Clustering
Royee Tager
 
PDF
Docker Online Meetup #3: Docker in Production
Docker, Inc.
 
PDF
Butter bei die Fische - Ein Jahr Entwicklung und Produktion mit Docker
johannesunterstein
 
PDF
New Docker Features for Orchestration and Containers
Jeff Anderson
 
PDF
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
devopsdaysaustin
 
PDF
6 Months Sailing with Docker in Production
Hung Lin
 
PDF
Container (Docker) Orchestration Tools
Dhilipsiva DS
 
PPTX
Nats meetup oct 2016 docker 112
Nirmal Mehta
 
PDF
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
Docker, Inc.
 
PDF
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Erica Windisch
 
PDF
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
PDF
Docker for developers
andrzejsydor
 
PDF
Docker 1.12 and SwarmKit
Gianluca Arbezzano
 
PDF
Docker orchestration voxxed days berlin 2016
Grzegorz Duda
 
PDF
DCEU 18: Tips and Tricks of the Docker Captains
Docker, Inc.
 
Docker and plone
Alin Voinea
 
DockerCon17 - Building The Super-Dynamic Demo Center
Michael Wilde
 
The state of the swarm
Mathieu Buffenoir
 
Pp docker-swarm-doxlon-28th-march-2017
Bobby DeVeaux, DevOps Consultant
 
Building a production-ready, fully-scalable Docker Swarm using Terraform & Pa...
Outlyer
 
Swarm: Native Docker Clustering
Royee Tager
 
Docker Online Meetup #3: Docker in Production
Docker, Inc.
 
Butter bei die Fische - Ein Jahr Entwicklung und Produktion mit Docker
johannesunterstein
 
New Docker Features for Orchestration and Containers
Jeff Anderson
 
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
devopsdaysaustin
 
6 Months Sailing with Docker in Production
Hung Lin
 
Container (Docker) Orchestration Tools
Dhilipsiva DS
 
Nats meetup oct 2016 docker 112
Nirmal Mehta
 
What's New in Docker 1.12 by Nishant Totla for Docker SF Meetup 08.03.16
Docker, Inc.
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
Erica Windisch
 
Shipping Applications to Production in Containers with Docker
Jérôme Petazzoni
 
Docker for developers
andrzejsydor
 
Docker 1.12 and SwarmKit
Gianluca Arbezzano
 
Docker orchestration voxxed days berlin 2016
Grzegorz Duda
 
DCEU 18: Tips and Tricks of the Docker Captains
Docker, Inc.
 
Ad

More from Alin Voinea (16)

PDF
EEA and Plone Lightning at Plone Conference 2024 Brasilia
Alin Voinea
 
PPTX
EEA & Eau de Web Front-end add-ons - Plone conference 2023
Alin Voinea
 
PDF
EEA Faceted Navigation and Plone 6.pdf
Alin Voinea
 
PPTX
EEA Volto Add-ons - Plone Conference 2020
Alin Voinea
 
PPTX
Plone 6 / Volto Dexterity Content Types - Schema & Layout
Alin Voinea
 
PDF
Continuous Delivery/Deployment w/ Gitflow, Docker, Jenkins and Rancher
Alin Voinea
 
PDF
Faceted navigation in Plone 5
Alin Voinea
 
PDF
Plone and docker
Alin Voinea
 
PDF
Kotti CMS 101
Alin Voinea
 
PDF
Developing Single Page Applications on Plone using AngularJS
Alin Voinea
 
PDF
Responsive design in plone
Alin Voinea
 
PDF
Plone and docker
Alin Voinea
 
PPTX
Display eea’s semantic content with elasticsearch and node.js applications sh...
Alin Voinea
 
PPTX
New EEA Plone Add-ons
Alin Voinea
 
PDF
Python eggs (RO)
Alin Voinea
 
PDF
Data visualization in plone
Alin Voinea
 
EEA and Plone Lightning at Plone Conference 2024 Brasilia
Alin Voinea
 
EEA & Eau de Web Front-end add-ons - Plone conference 2023
Alin Voinea
 
EEA Faceted Navigation and Plone 6.pdf
Alin Voinea
 
EEA Volto Add-ons - Plone Conference 2020
Alin Voinea
 
Plone 6 / Volto Dexterity Content Types - Schema & Layout
Alin Voinea
 
Continuous Delivery/Deployment w/ Gitflow, Docker, Jenkins and Rancher
Alin Voinea
 
Faceted navigation in Plone 5
Alin Voinea
 
Plone and docker
Alin Voinea
 
Kotti CMS 101
Alin Voinea
 
Developing Single Page Applications on Plone using AngularJS
Alin Voinea
 
Responsive design in plone
Alin Voinea
 
Plone and docker
Alin Voinea
 
Display eea’s semantic content with elasticsearch and node.js applications sh...
Alin Voinea
 
New EEA Plone Add-ons
Alin Voinea
 
Python eggs (RO)
Alin Voinea
 
Data visualization in plone
Alin Voinea
 

Recently uploaded (20)

PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
PDF
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PPTX
Presentation about Database and Database Administrator
abhishekchauhan86963
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
Immersive experiences: what Pharo users do!
ESUG
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Contractor Management Platform and Software Solution for Compliance
SHEQ Network Limited
 
MiniTool Power Data Recovery Crack New Pre Activated Version Latest 2025
imang66g
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Presentation about Database and Database Administrator
abhishekchauhan86963
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
Immersive experiences: what Pharo users do!
ESUG
 
Exploring AI Agents in Process Industries
amoreira6
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Activate_Methodology_Summary presentatio
annapureddyn
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 

Docker & rancher

  • 1. Alin Voinea Eau de Web, Romania Docker & Rancher Docker Hub, Rancher Catalog
  • 2. Summary ● Docker ○ Docker Hub ● Rancher ○ Rancher Catalog
  • 3. What is Docker? ● OS level virtualization - “containerization” ● First released in 2013 - Solomon Hykes - dotCloud ● Maintained and and developed by Docker Inc. ● Lightweight than virtual machines ● Single operating-system kernel ● Portable ● Scalable ● Stackable
  • 4. Running Applications w/ Docker $ docker run plone:5 $ docker run eeacms/eionet:5.1-1.0 $ docker run registry.gitlab.com/avoinea/docker:3.5
  • 5. Custom Docker Image: Dockerifle FROM plone:5.1.5 RUN apt-get update && apt-get install -y --no-install-recommends libldap2-dev libssl-dev && rm -rf /var/lib/apt/lists/* COPY site.cfg /plone/instance/ COPY docker-entrypoint.sh RUN gosu plone buildout -c site.cfg HEALTHCHECK --interval=1m --timeout=5s --start-period=1m CMD curl -f http://localhost:8080/ || exit 1 ENTRYPOINT [“/plone/instance/docker-entrypoint.sh”]
  • 6. Custom Docker Image: docker-entrypoint.sh #!/bin/bash set -e # Make sure that the application can write within data volume chown -R plone:plone /data # Move the main application to `PID 1` by using `exec` # Use a non-root user to start your app exec gosu plone bin/instance "$@"
  • 7. Build Docker Image: devel $ docker build -t eionet-dev /path/to/Dockerfile $ docker run -p 8080:8080 eionet-dev
  • 8. Build Docker Image: production $ docker push eeacms/eionet $ git tag 5.1-1.0 $ git push --tags
  • 9. $ docker-compose up $ docker-compose down $ docker-compose down -v Orchestration: Single host
  • 10. $ docker-compose up -d $ docker-compose scale plone=3 version: "2" services: plone: image: eeacms/eionet:5.1-1.0 environment: - ZEO_ADDRESS=zeo:8100 zeo: image: plone:5.1.5 command: zeoserver volumes: - data:/data volumes: data: driver: local Orchestration: docker-compose docker-compose.yml
  • 12. version: "2" services: plone: scale: 2 health_check: healthy_threshold: 2 response_timeout: 2000 port: 8080 unhealthy_threshold: 3 interval: 5000 strategy: recreate request_line: GET / zeo: scale: 1 health_check: ... version: "2" services: plone: mem_reservation: 1g mem_limit: 2g labels: io.rancher.scheduler.affinity:host_label: backend=yes io.rancher.scheduler.affinity:host_label_ne: reserved=yes io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name} eu.europa.eionet.plone: true … volumes: data: driver: rancher-ebs / netapp / rancher-nfs / local driver-opts: size: 1g volumeType: gp2 docker-compose.yml rancher-compose.yml Orchestration: rancher-compose
  • 13. version: "2" catalog: name: "Eionet - WWW" description: "Eionet Plone 5 website" version: "5.1-1.0" questions: - variable: "HOST_LABELS" label: "Do not schedule services on these hosts" description: "List of host labels” type: "string" required: true default: "reserved=yes" - variable: "TZ" ... version: "2" services: plone: labels: io.rancher.scheduler.affinity:host_label_ne: ${HOST_LABELS} … volumes: data: driver: ${DATA_VOLUME_DRIVER} driver-opts: {{.Values.DATA_VOLUME_DRIVER_OPTS}} docker-compose.yml rancher-compose.yml Rancher Catalog
  • 14. $ rancher catalog ls $ rancher catalog install --name www-eionet-demo --answers /path/to/answers.txt EEA:www-eionet:1 Rancher Catalog: CLI & Web UI
  • 17. Rancher Load Balancer ● Service rules ● Selector rules
  • 18. Thank you! ● EEA Rancher Catalog: ○ github.com/eea/eea.rancher.catalog ● Documentation ○ docker.com ○ rancher.com ● Examples ○ github.com/eea?q=docker