SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Docker in Production
Something new or just buzzwords?
Gianluca Arbezzano
Software Engineer @CurrencyFair
DevOps enthusiast and Open Source developer.
● http://scaledocker.com
● http://gianarb.it
● https://twitter.com/gianarb
● https://github.com/gianarb
● hello@thumpflow.com
> Automate the boring stuffs.
Internet users in
the World
http://www.internetlivestats.com/internet-users/
Cloud Computing
1960s The initial concepts of time-sharing became popularized via RJE (Remote Job Entry);
[
1990s Telecommunications companies, who previously offered primarily dedicated point-to-point data circuits, began offering virtual
private network (VPN) services with comparable quality of service, but at a lower cost.
2000s Cloud computing has come into existence. In early 2008, NASA's OpenNebula
2006s Amazon introduced its Elastic Compute Cloud.
2008s Microsoft Azure was announced as "Azure". It was released on 1 February 2010 as Windows Azure
2010s Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack
https://en.wikipedia.org/wiki/Cloud_computing#Origin_of_the_term
Your application and your
business
That’s what matters
Problems that I see
● Onboarding new users
● Testing
● Deploy your application
● Scalability
● Timing
● Number of applications
Why containers are good
● Easier to deploy
● Good to keep developers and system administrator frends
● Less expensive to manage in time compared with VM. But you still need
VMs or at least servers.
● Immutable
you still need VMs or at least servers.
You still need to manage
● Network
● Hostname
● Firewall
● Maybe some tools like vim, you always need vim
● Docker itself needs to be installed and configurated
Everything as code:
1. Cloud init
2. Configuration management
3. Docker
https://github.com/chef-cookbooks/docker
VPN - It’s not complicated! Stop to think that...
https://community.openvpn.net/openvpn/wiki/BridgingAndRouting
dockerd -H fd:// -H tcp://10.7.5.22 --label kind=private
6 October 2016
© 2016 CurrencyFair Ltd
Docker 1.13 makes
production environment
good.
6 October 2016
© 2016 CurrencyFair Ltd
CLI redesign
Docker CLI is always a privileged client for the daemon. Thousand
of users learn how to run contains with this tools:
docker run -it alpine sleep 10
6 October 2016
© 2016 CurrencyFair Ltd
CLI redesign
Advanced users or scripts to build complex solution:
find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <(
docker ps -aq | xargs docker inspect | jq -r '.[]|.Mounts|.[]|.Name|select(.)'
)
6 October 2016
© 2016 CurrencyFair Ltd
But was time for a
little re-design
6 October 2016
© 2016 CurrencyFair Ltd
top level command
● checkpoint Manage checkpoints
● container Manage containers
● image Manage images
● network Manage networks
● node Manage Swarm nodes
● plugin Manage plugins
● secret Manage Docker secrets
● service Manage services
● stack Manage Docker stacks
● swarm Manage Swarm
● system Manage Docker
● volume Manage volumes
100% compatible with the old commands:
run, stop, start and so on
http://blog.arungupta.me/docker-1-13-management-commands/
6 October 2016
© 2016 CurrencyFair Ltd
Keep your environment clean
docker system
docker system info == docker info
docker system event => to follow stream’s events from deamon
docker system prune => to clean your env from bad layers,
volumes and networks
6 October 2016
© 2016 CurrencyFair Ltd
Welcome compose v3
version: ‘3’
services:
micro:
image: gianarb/micro:1.2.0
deploy:
mode: replicated
replicas: 2
resources:
limits:
cpus: '0.25'
memory: 512M
reservations:
cpus: '0.25'
memory: 256M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
Compatible with Swarm mode
docker stack create 
-c ./docker-compose.yml frontend
6 October 2016
© 2016 CurrencyFair Ltd
Secrets are available in Swarm mode
docker secret create well ./secret.json
docker service create --secret well alpine sleep 1000
Secrets are running in directory /run
6 October 2016
© 2016 CurrencyFair Ltd
Squash layers
docker build --squash -t jenkins-sq .
Demo
● https://github.com/gianarb/micro
● https://github.com/gianarb/docker-stack
● https://github.com/gianarb/papiro
● https://docs.docker.com/engine/swarm/secrets/
● https://docs.docker.com/engine/reference/commandline/system/
● https://docs.docker.com/docker-cloud/apps/stack-yaml-reference/
Thanks
http://gianarb.it

Weitere ähnliche Inhalte

Was ist angesagt?

Part 4 Docker Concepts - Docker Machine
Part 4 Docker Concepts - Docker MachinePart 4 Docker Concepts - Docker Machine
Part 4 Docker Concepts - Docker Machine
Biswajit De
 
Cloud computing comparing
Cloud computing comparingCloud computing comparing
Cloud computing comparing
colinli
 

Was ist angesagt? (20)

Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)
 
Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?
 
Part 7 Docker Toolbox - Windows
Part 7 Docker Toolbox - WindowsPart 7 Docker Toolbox - Windows
Part 7 Docker Toolbox - Windows
 
Part 4 Docker Concepts - Docker Machine
Part 4 Docker Concepts - Docker MachinePart 4 Docker Concepts - Docker Machine
Part 4 Docker Concepts - Docker Machine
 
Introduction to docker and docker compose
Introduction to docker and docker composeIntroduction to docker and docker compose
Introduction to docker and docker compose
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
 
2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com
 
Docker 101 @KACST Saudi HPC 2016
Docker 101  @KACST Saudi HPC 2016Docker 101  @KACST Saudi HPC 2016
Docker 101 @KACST Saudi HPC 2016
 
Docker Workshop for beginner
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginner
 
Why should i care about stateful containers?
Why should i care about stateful containers?Why should i care about stateful containers?
Why should i care about stateful containers?
 
Docker 1.13 - Docker meetup février 2017
Docker 1.13 - Docker meetup février 2017Docker 1.13 - Docker meetup février 2017
Docker 1.13 - Docker meetup février 2017
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Docker 101 - An introduction to docker
Docker 101 - An introduction to dockerDocker 101 - An introduction to docker
Docker 101 - An introduction to docker
 
Game DDOS Prevention
Game DDOS PreventionGame DDOS Prevention
Game DDOS Prevention
 
The state of the swarm
The state of the swarmThe state of the swarm
The state of the swarm
 
Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
Cloud computing comparing
Cloud computing comparingCloud computing comparing
Cloud computing comparing
 
Ansible and CloudStack
Ansible and CloudStackAnsible and CloudStack
Ansible and CloudStack
 
Docker compose
Docker composeDocker compose
Docker compose
 

Andere mochten auch

Andere mochten auch (20)

Cloudexpoeurope open source cloud
Cloudexpoeurope open source cloudCloudexpoeurope open source cloud
Cloudexpoeurope open source cloud
 
mindtrek2016 - the economics of open source clouds
mindtrek2016 - the economics of open source cloudsmindtrek2016 - the economics of open source clouds
mindtrek2016 - the economics of open source clouds
 
Economics of public and private clouds
Economics of public and private cloudsEconomics of public and private clouds
Economics of public and private clouds
 
Pp docker-swarm-doxlon-28th-march-2017
Pp docker-swarm-doxlon-28th-march-2017Pp docker-swarm-doxlon-28th-march-2017
Pp docker-swarm-doxlon-28th-march-2017
 
Docker, how to use it. Organize a meeting with IBM products
Docker, how to use it. Organize a meeting with IBM productsDocker, how to use it. Organize a meeting with IBM products
Docker, how to use it. Organize a meeting with IBM products
 
Docker進階探討
Docker進階探討Docker進階探討
Docker進階探討
 
Patterns and antipatterns in Docker image lifecycle as was presented at Oracl...
Patterns and antipatterns in Docker image lifecycle as was presented at Oracl...Patterns and antipatterns in Docker image lifecycle as was presented at Oracl...
Patterns and antipatterns in Docker image lifecycle as was presented at Oracl...
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
Continuous Delivery With Selenium Grid And Docker
Continuous Delivery With Selenium Grid And DockerContinuous Delivery With Selenium Grid And Docker
Continuous Delivery With Selenium Grid And Docker
 
Deliver Docker Containers Continuously on AWS - QCon 2017
Deliver Docker Containers Continuously on AWS - QCon 2017Deliver Docker Containers Continuously on AWS - QCon 2017
Deliver Docker Containers Continuously on AWS - QCon 2017
 
Hopping in clouds - phpuk 17
Hopping in clouds - phpuk 17Hopping in clouds - phpuk 17
Hopping in clouds - phpuk 17
 
Preparing your dockerised application for production deployment
Preparing your dockerised application for production deploymentPreparing your dockerised application for production deployment
Preparing your dockerised application for production deployment
 
What's new in openstack ocata
What's new in openstack ocata What's new in openstack ocata
What's new in openstack ocata
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
The busy developer guide to Docker
The busy developer guide to DockerThe busy developer guide to Docker
The busy developer guide to Docker
 
Webinar : Docker in Production
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
 
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
SnowCamp IO Grenoble 2017 - Bâtissons ensemble un pipeline avec Jenkins et Do...
 
Scaling docker @ovh
Scaling docker @ovhScaling docker @ovh
Scaling docker @ovh
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
 
Pomerania Cloud case study - Openstack Day Warsaw 2017
Pomerania Cloud case study - Openstack Day Warsaw 2017Pomerania Cloud case study - Openstack Day Warsaw 2017
Pomerania Cloud case study - Openstack Day Warsaw 2017
 

Ähnlich wie Docker Novosibirsk Meetup #3 - Docker in Production

Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
Docker, Inc.
 

Ähnlich wie Docker Novosibirsk Meetup #3 - Docker in Production (20)

DockerDublin Meetup - News about Docker 1.13
DockerDublin Meetup -  News about Docker 1.13DockerDublin Meetup -  News about Docker 1.13
DockerDublin Meetup - News about Docker 1.13
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
 
From Zero to Hero - Nexinto
From Zero to Hero - NexintoFrom Zero to Hero - Nexinto
From Zero to Hero - Nexinto
 
Accelerate your development with Docker
Accelerate your development with DockerAccelerate your development with Docker
Accelerate your development with Docker
 
Accelerate your software development with Docker
Accelerate your software development with DockerAccelerate your software development with Docker
Accelerate your software development with Docker
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
Docker Workshop - Orchestrating Docker Containers
Docker Workshop - Orchestrating Docker ContainersDocker Workshop - Orchestrating Docker Containers
Docker Workshop - Orchestrating Docker Containers
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
 
Docker
DockerDocker
Docker
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016Docker Container As A Service - Mix-IT 2016
Docker Container As A Service - Mix-IT 2016
 
Super powered Drupal development with docker
Super powered Drupal development with dockerSuper powered Drupal development with docker
Super powered Drupal development with docker
 
Docker Platform and Ecosystem
Docker Platform and EcosystemDocker Platform and Ecosystem
Docker Platform and Ecosystem
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Application Deployment on Openstack
Application Deployment on OpenstackApplication Deployment on Openstack
Application Deployment on Openstack
 
Docker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developersDocker, Kubernetes, and Mesos recipes for Java developers
Docker, Kubernetes, and Mesos recipes for Java developers
 
Austin - Container Days - Docker 101
Austin - Container Days - Docker 101Austin - Container Days - Docker 101
Austin - Container Days - Docker 101
 

Mehr von Gianluca Arbezzano

Mehr von Gianluca Arbezzano (18)

Kubernetes debug like a pro
Kubernetes debug like a proKubernetes debug like a pro
Kubernetes debug like a pro
 
OSDC 2018 - Distributed monitoring
OSDC 2018 - Distributed monitoringOSDC 2018 - Distributed monitoring
OSDC 2018 - Distributed monitoring
 
Value of your metrics: goodbye monitoring, welcome observability
Value of your metrics: goodbye monitoring, welcome observabilityValue of your metrics: goodbye monitoring, welcome observability
Value of your metrics: goodbye monitoring, welcome observability
 
InfluxCloudi craft container orchestrator
InfluxCloudi craft container orchestratorInfluxCloudi craft container orchestrator
InfluxCloudi craft container orchestrator
 
Orbiter and how to extend Docker Swarm
Orbiter and how to extend Docker SwarmOrbiter and how to extend Docker Swarm
Orbiter and how to extend Docker Swarm
 
Overview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca ArbezzanoOverview and Opentracing in theory by Gianluca Arbezzano
Overview and Opentracing in theory by Gianluca Arbezzano
 
Monitoring Pull vs Push, InfluxDB and Prometheus
Monitoring Pull vs Push, InfluxDB and PrometheusMonitoring Pull vs Push, InfluxDB and Prometheus
Monitoring Pull vs Push, InfluxDB and Prometheus
 
Open Tracing, to order and understand your mess. - ApiConf 2017
Open Tracing, to order and understand your mess. - ApiConf 2017Open Tracing, to order and understand your mess. - ApiConf 2017
Open Tracing, to order and understand your mess. - ApiConf 2017
 
Security Tips to run Docker in Production
Security Tips to run Docker in ProductionSecurity Tips to run Docker in Production
Security Tips to run Docker in Production
 
Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017
 
Monitor your application and sleep
Monitor your application and sleepMonitor your application and sleep
Monitor your application and sleep
 
Tick Stack - Listen your infrastructure and please sleep
Tick Stack - Listen your infrastructure and please sleepTick Stack - Listen your infrastructure and please sleep
Tick Stack - Listen your infrastructure and please sleep
 
Docker 1.12 and SwarmKit
Docker 1.12 and SwarmKitDocker 1.12 and SwarmKit
Docker 1.12 and SwarmKit
 
Time Series Database and Tick Stack
Time Series Database and Tick StackTime Series Database and Tick Stack
Time Series Database and Tick Stack
 
Queue System and Zend\Queue implementation
Queue System and Zend\Queue implementationQueue System and Zend\Queue implementation
Queue System and Zend\Queue implementation
 
ZfDayIt 2014 - There is a module for everything
ZfDayIt 2014 - There is a module for everythingZfDayIt 2014 - There is a module for everything
ZfDayIt 2014 - There is a module for everything
 
Vagrant - PugMI
Vagrant - PugMIVagrant - PugMI
Vagrant - PugMI
 
Silex, iniziamo
Silex, iniziamoSilex, iniziamo
Silex, iniziamo
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Docker Novosibirsk Meetup #3 - Docker in Production

  • 1. Docker in Production Something new or just buzzwords?
  • 2. Gianluca Arbezzano Software Engineer @CurrencyFair DevOps enthusiast and Open Source developer. ● http://scaledocker.com ● http://gianarb.it ● https://twitter.com/gianarb ● https://github.com/gianarb ● hello@thumpflow.com > Automate the boring stuffs.
  • 3. Internet users in the World http://www.internetlivestats.com/internet-users/
  • 4. Cloud Computing 1960s The initial concepts of time-sharing became popularized via RJE (Remote Job Entry); [ 1990s Telecommunications companies, who previously offered primarily dedicated point-to-point data circuits, began offering virtual private network (VPN) services with comparable quality of service, but at a lower cost. 2000s Cloud computing has come into existence. In early 2008, NASA's OpenNebula 2006s Amazon introduced its Elastic Compute Cloud. 2008s Microsoft Azure was announced as "Azure". It was released on 1 February 2010 as Windows Azure 2010s Rackspace Hosting and NASA jointly launched an open-source cloud-software initiative known as OpenStack https://en.wikipedia.org/wiki/Cloud_computing#Origin_of_the_term
  • 5. Your application and your business That’s what matters
  • 6. Problems that I see ● Onboarding new users ● Testing ● Deploy your application ● Scalability ● Timing ● Number of applications
  • 7. Why containers are good ● Easier to deploy ● Good to keep developers and system administrator frends ● Less expensive to manage in time compared with VM. But you still need VMs or at least servers. ● Immutable
  • 8. you still need VMs or at least servers.
  • 9. You still need to manage ● Network ● Hostname ● Firewall ● Maybe some tools like vim, you always need vim ● Docker itself needs to be installed and configurated
  • 10. Everything as code: 1. Cloud init 2. Configuration management 3. Docker https://github.com/chef-cookbooks/docker
  • 11. VPN - It’s not complicated! Stop to think that... https://community.openvpn.net/openvpn/wiki/BridgingAndRouting
  • 12. dockerd -H fd:// -H tcp://10.7.5.22 --label kind=private
  • 13. 6 October 2016 © 2016 CurrencyFair Ltd Docker 1.13 makes production environment good.
  • 14. 6 October 2016 © 2016 CurrencyFair Ltd CLI redesign Docker CLI is always a privileged client for the daemon. Thousand of users learn how to run contains with this tools: docker run -it alpine sleep 10
  • 15. 6 October 2016 © 2016 CurrencyFair Ltd CLI redesign Advanced users or scripts to build complex solution: find '/var/lib/docker/volumes/' -mindepth 1 -maxdepth 1 -type d | grep -vFf <( docker ps -aq | xargs docker inspect | jq -r '.[]|.Mounts|.[]|.Name|select(.)' )
  • 16. 6 October 2016 © 2016 CurrencyFair Ltd But was time for a little re-design
  • 17. 6 October 2016 © 2016 CurrencyFair Ltd top level command ● checkpoint Manage checkpoints ● container Manage containers ● image Manage images ● network Manage networks ● node Manage Swarm nodes ● plugin Manage plugins ● secret Manage Docker secrets ● service Manage services ● stack Manage Docker stacks ● swarm Manage Swarm ● system Manage Docker ● volume Manage volumes 100% compatible with the old commands: run, stop, start and so on http://blog.arungupta.me/docker-1-13-management-commands/
  • 18. 6 October 2016 © 2016 CurrencyFair Ltd Keep your environment clean docker system docker system info == docker info docker system event => to follow stream’s events from deamon docker system prune => to clean your env from bad layers, volumes and networks
  • 19. 6 October 2016 © 2016 CurrencyFair Ltd Welcome compose v3 version: ‘3’ services: micro: image: gianarb/micro:1.2.0 deploy: mode: replicated replicas: 2 resources: limits: cpus: '0.25' memory: 512M reservations: cpus: '0.25' memory: 256M restart_policy: condition: on-failure delay: 5s max_attempts: 3 window: 120s Compatible with Swarm mode docker stack create -c ./docker-compose.yml frontend
  • 20. 6 October 2016 © 2016 CurrencyFair Ltd Secrets are available in Swarm mode docker secret create well ./secret.json docker service create --secret well alpine sleep 1000 Secrets are running in directory /run
  • 21. 6 October 2016 © 2016 CurrencyFair Ltd Squash layers docker build --squash -t jenkins-sq .
  • 22. Demo ● https://github.com/gianarb/micro ● https://github.com/gianarb/docker-stack ● https://github.com/gianarb/papiro ● https://docs.docker.com/engine/swarm/secrets/ ● https://docs.docker.com/engine/reference/commandline/system/ ● https://docs.docker.com/docker-cloud/apps/stack-yaml-reference/