SlideShare a Scribd company logo
Docker in productionDocker in production
problems, fixes and beyondproblems, fixes and beyond
Miguel A. Guillen & Ioannis BetasMiguel A. Guillen & Ioannis Betas
We love dockerWe love docker
And we use it in productionAnd we use it in production
And we use it in productionAnd we use it in production
And we had some problemsAnd we had some problems
But we still love dockerBut we still love docker
1.- Don't use links1.- Don't use links
Links are not cool:Links are not cool:
●
Remove containers with linksRemove containers with links
it's...it's...
●
Not multi-host support (yet)Not multi-host support (yet)
●
Difficult to maintain (micro-Difficult to maintain (micro-
services)services)
1.- Don't use links1.- Don't use links
Service discovery:Service discovery:
●
We use consul, dns interface isWe use consul, dns interface is
coolcool
●
Etcd or zookeeperEtcd or zookeeper
●
Simplify your deploymentsSimplify your deployments
●
But we don't have isolationBut we don't have isolation
2.- avoid port redirection2.- avoid port redirection
Take not always works:Take not always works:
●
Memory leak in docker (yes..)Memory leak in docker (yes..)
●
Some services they are not going toSome services they are not going to
work (scala)work (scala)
●
Some services need to announceSome services need to announce
their IPtheir IP
●
Use --net=host“ ”Use --net=host“ ”
3.- driver storage3.- driver storage
By default is devicemapperBy default is devicemapper
●
Not use default loopback optionNot use default loopback option
●
Create a partition with a thinpoolCreate a partition with a thinpool
●
Check other drivers like btrfs orCheck other drivers like btrfs or
unionfsunionfs
●
Do not use aufsDo not use aufs
4.- avoid big images4.- avoid big images
Big images are badBig images are bad
●
Slow deploymentsSlow deployments
●
Not really reusable imagesNot really reusable images
●
Try to use the same base imageTry to use the same base image
●
Automated deployments it's going toAutomated deployments it's going to
fill your disk partitionfill your disk partition
5.- Do not use docker for databases5.- Do not use docker for databases
Or any kind of storage serviceOr any kind of storage service
●
Persistence in docker isPersistence in docker is
complicatedcomplicated
●
Data is saved in the copy on writeData is saved in the copy on write
fsfs
●
Use host for saving the data is anUse host for saving the data is an
optionoption
●
But not use persistence services inBut not use persistence services in
docker (yet)docker (yet)
QUESTIONS?
Thank you!!

More Related Content

What's hot (20)

PDF
Does Cowgirl Dream of Red Swirl?
Hideki Yamane
 
ODP
about Debian "squeeze" @201002 OSC Tokyospring
Hideki Yamane
 
PDF
Develop QNAP NAS App by Docker
Terry Chen
 
PDF
Redis導入
Kazuma Furuhashi
 
PPTX
Infrastructure development on windows ldn cd meetup
Owain Perry
 
PDF
OSGi Community Event 2010 - Rapid Bundle Development with Bndtools for Eclipse
mfrancis
 
PDF
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
mfrancis
 
PDF
find & improve some bottleneck in Debian project (DebConf14 LT)
Hideki Yamane
 
ODP
Continuous delivery of Windows micro services in the cloud
Owain Perry
 
PDF
Vagrant for Virtualized Development
Adam Culp
 
PDF
Comment Asciidoctor peut vous aider pour votre doc
Jérémie Bresson
 
PDF
Porting Puppet to OpenBSD
Puppet
 
PDF
openSUSE Conference 2017 - YaST News
lslezak
 
ODP
openSUSE Conference 2017 - The Docker at Travis Presentation
lslezak
 
PDF
Intro To Gentoo Embedded Cclug
Steve Arnold
 
ODP
From Test to Live with Rex
Jan Gehring
 
PDF
Production Ready Javascript With Grunt
XB Software, Ltd.
 
PDF
Kernel compilation
Ganesh Chavan
 
PDF
Drbl tutorial
Tien-Ran Hsieh
 
PDF
[Js hcm] Deploying node.js with Forever.js and nginx
Nicolas Embleton
 
Does Cowgirl Dream of Red Swirl?
Hideki Yamane
 
about Debian "squeeze" @201002 OSC Tokyospring
Hideki Yamane
 
Develop QNAP NAS App by Docker
Terry Chen
 
Redis導入
Kazuma Furuhashi
 
Infrastructure development on windows ldn cd meetup
Owain Perry
 
OSGi Community Event 2010 - Rapid Bundle Development with Bndtools for Eclipse
mfrancis
 
Programming OSGi with Eclipse - Jeff McAffer, Eclipse Architect, IBM & Tom Wats...
mfrancis
 
find & improve some bottleneck in Debian project (DebConf14 LT)
Hideki Yamane
 
Continuous delivery of Windows micro services in the cloud
Owain Perry
 
Vagrant for Virtualized Development
Adam Culp
 
Comment Asciidoctor peut vous aider pour votre doc
Jérémie Bresson
 
Porting Puppet to OpenBSD
Puppet
 
openSUSE Conference 2017 - YaST News
lslezak
 
openSUSE Conference 2017 - The Docker at Travis Presentation
lslezak
 
Intro To Gentoo Embedded Cclug
Steve Arnold
 
From Test to Live with Rex
Jan Gehring
 
Production Ready Javascript With Grunt
XB Software, Ltd.
 
Kernel compilation
Ganesh Chavan
 
Drbl tutorial
Tien-Ran Hsieh
 
[Js hcm] Deploying node.js with Forever.js and nginx
Nicolas Embleton
 

Similar to Docker in production: problems, fixes and beyond (20)

ODP
Repositories as Code
Kris Buytaert
 
ODP
Automating MySQL operations with Puppet
Kris Buytaert
 
PDF
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
NETWAYS
 
PDF
Groovy there's a docker in my application pipeline
Kris Buytaert
 
ODP
On the Importance of Infrastructure as Code
Kris Buytaert
 
ODP
Icinga Camp Amsterdam - Infrastructure as Code
Icinga
 
PDF
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
DynamicInfraDays
 
PDF
Container Days
Patrick Mizer
 
PDF
Taking Docker to Production: What You Need to Know and Decide
Bret Fisher
 
PDF
Taking Docker to Production: What You Need to Know and Decide
Docker, Inc.
 
PDF
Backup UUASC 9/6/12
Chason Chaffin
 
PDF
Headless Android at AnDevCon3
Opersys inc.
 
ODP
Deploying your SaaS stack OnPrem
Kris Buytaert
 
ODP
Continous Delivery of your Infrastructure
Kris Buytaert
 
PPTX
Smarter deployments with octopus deploy
Thibaud Gravrand
 
PDF
Headless Android
Opersys inc.
 
PDF
Lessons Learned: Using Concourse In Production
Shingo Omura
 
PDF
Run stuff, Deploy Stuff, Jax London 2017 Edition
Kris Buytaert
 
ODP
Future of Sysadmin 2014
Kris Buytaert
 
PDF
Talk on PHP Day Uruguay about Docker
Wellington Silva
 
Repositories as Code
Kris Buytaert
 
Automating MySQL operations with Puppet
Kris Buytaert
 
OSMC 2017 | Groovy There is a Docker in my Dashing Pipeline by Kris Buytaert
NETWAYS
 
Groovy there's a docker in my application pipeline
Kris Buytaert
 
On the Importance of Infrastructure as Code
Kris Buytaert
 
Icinga Camp Amsterdam - Infrastructure as Code
Icinga
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
DynamicInfraDays
 
Container Days
Patrick Mizer
 
Taking Docker to Production: What You Need to Know and Decide
Bret Fisher
 
Taking Docker to Production: What You Need to Know and Decide
Docker, Inc.
 
Backup UUASC 9/6/12
Chason Chaffin
 
Headless Android at AnDevCon3
Opersys inc.
 
Deploying your SaaS stack OnPrem
Kris Buytaert
 
Continous Delivery of your Infrastructure
Kris Buytaert
 
Smarter deployments with octopus deploy
Thibaud Gravrand
 
Headless Android
Opersys inc.
 
Lessons Learned: Using Concourse In Production
Shingo Omura
 
Run stuff, Deploy Stuff, Jax London 2017 Edition
Kris Buytaert
 
Future of Sysadmin 2014
Kris Buytaert
 
Talk on PHP Day Uruguay about Docker
Wellington Silva
 
Ad

Recently uploaded (20)

PDF
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PPTX
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
PDF
Productivity Management Software | Workstatus
Lovely Baghel
 
PDF
Français Patch Tuesday - Juillet
Ivanti
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Smart Air Quality Monitoring with Serrax AQM190 LITE
SERRAX TECHNOLOGIES LLP
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
Wojciech Ciemski for Top Cyber News MAGAZINE. June 2025
Dr. Ludmila Morozova-Buss
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
NewMind AI Journal - Weekly Chronicles - July'25 Week II
NewMind AI
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Darren Mills The Migration Modernization Balancing Act: Navigating Risks and...
AWS Chicago
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Ampere Offers Energy-Efficient Future For AI And Cloud
ShapeBlue
 
Productivity Management Software | Workstatus
Lovely Baghel
 
Français Patch Tuesday - Juillet
Ivanti
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Building a Production-Ready Barts Health Secure Data Environment Tooling, Acc...
Barts Health
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
Ad

Docker in production: problems, fixes and beyond

  • 1. Docker in productionDocker in production problems, fixes and beyondproblems, fixes and beyond Miguel A. Guillen & Ioannis BetasMiguel A. Guillen & Ioannis Betas
  • 2. We love dockerWe love docker
  • 3. And we use it in productionAnd we use it in production
  • 4. And we use it in productionAnd we use it in production And we had some problemsAnd we had some problems
  • 5. But we still love dockerBut we still love docker
  • 6. 1.- Don't use links1.- Don't use links Links are not cool:Links are not cool: ● Remove containers with linksRemove containers with links it's...it's... ● Not multi-host support (yet)Not multi-host support (yet) ● Difficult to maintain (micro-Difficult to maintain (micro- services)services)
  • 7. 1.- Don't use links1.- Don't use links Service discovery:Service discovery: ● We use consul, dns interface isWe use consul, dns interface is coolcool ● Etcd or zookeeperEtcd or zookeeper ● Simplify your deploymentsSimplify your deployments ● But we don't have isolationBut we don't have isolation
  • 8. 2.- avoid port redirection2.- avoid port redirection Take not always works:Take not always works: ● Memory leak in docker (yes..)Memory leak in docker (yes..) ● Some services they are not going toSome services they are not going to work (scala)work (scala) ● Some services need to announceSome services need to announce their IPtheir IP ● Use --net=host“ ”Use --net=host“ ”
  • 9. 3.- driver storage3.- driver storage By default is devicemapperBy default is devicemapper ● Not use default loopback optionNot use default loopback option ● Create a partition with a thinpoolCreate a partition with a thinpool ● Check other drivers like btrfs orCheck other drivers like btrfs or unionfsunionfs ● Do not use aufsDo not use aufs
  • 10. 4.- avoid big images4.- avoid big images Big images are badBig images are bad ● Slow deploymentsSlow deployments ● Not really reusable imagesNot really reusable images ● Try to use the same base imageTry to use the same base image ● Automated deployments it's going toAutomated deployments it's going to fill your disk partitionfill your disk partition
  • 11. 5.- Do not use docker for databases5.- Do not use docker for databases Or any kind of storage serviceOr any kind of storage service ● Persistence in docker isPersistence in docker is complicatedcomplicated ● Data is saved in the copy on writeData is saved in the copy on write fsfs ● Use host for saving the data is anUse host for saving the data is an optionoption ● But not use persistence services inBut not use persistence services in docker (yet)docker (yet)