I really dont see Docker as stable, and perhaps neither should you.
-
Hear me out for second, so I tried Docker on both Centos + VMware Photon to integrate into an already existing ESXi infrastructure for about 4 months on prod environment.
I loved the allure of quickly deploying stuff like every body else, I dont work in an organization/company that needs 500 MySQL installation to be honest, but many times i face the need to deploy LAMP stack or LEMP one, so I gave it ago and started to use in production.
And all the ease of setup came back and bit me in the ass. Managing the files in docker containers are much more difficult, but I am willing to learn this. What surprised me is that sometimes containers needs restart every now and then, especially frequently used ones. And that never happened in a VM, also there is performance hit, maybe small but I feel it. And dont get me started on cleaning up obsolete volumes, you are better off not cleaning them to avoid making mistake, and it is not very clear the naming scheme they use which looks like hashes to figure out everything apart.
Of-course I understand that docker really shines when you have alot of repetition and want to isolatation, but it seems to me that is limited to companies of software development, The rest of the world should stick to VMs (IMHO).
This reminded me alot about topic regarding would you rather want commercial NAS box, or centos server with NAS role. Why do you want to have the crippled one.
My opinion and it may be an un-experienced one, is that if you can afford VM, go for it. and forget about the hype surrounding Docker.
ps: I have updated and used the latest version of docker, and kept updating it. But it still sucked.
-
I agree with a lot of what you are saying. Containers seem to be better for scale-out scenarios for fluctuating demand is critical. I am limited to only seeing containers deployed for VOIP/SIP carrier situations.
I have seen FS Logix talk a lot about their container based solution for One Drive and hosting true Office 2016 Outlook connections on VDI. I have absolutely no idea how this provides any advantage but its all over their website. I came across it while playing with RDSH and trying to find a reasonable sync/cloud drive solution.
I would be interested in hearing more about scenarios where this Containers have offered big advantages over automatically spinning up new VM's from a golden image.
-
@bigbear docker containers Are for scaleout stateless layers. Lxd/libvirtlxc is like vm but with less overhead. Still you have to check if that overhead really matters.
-
I did a container talk at MangoCon two days ago
Docker is very different than traditional containers that we have had for 35 years. Solaris has been 100% containerized since 2005!
-
@emad-r said in I really dont see Docker as stable, and perhaps neither should you.:
hat surprised me is that sometimes containers needs restart every now and then, especially frequently used ones.
I haven't played a lot with it, but what was the reason for the restarts?
-
I have it hosted an enterprise grade server or Lenovo m5 x3650 in a VM, but after while performance suffers alot. The restarts that I need it to perform to containers was not on daily basis to be honest, but like it occurred a couple of times. But that tarnished my image of Docker, considering how reliable and strong the LAMP stack in any version of Linux.
-
You'll not really benefit from containerized workloads unless you are deploying applications that are designed to be ephemeral and stateless. Trying to deploy an application using a container the same way you deploy an application to a virtual machine, is not the way containers were intended to be used.
Containers should not be thought about in relation to virtual machines, they are two different things. Containers provide an encapsulation and abstraction of a service from the operating system. Containers are not a miniature virtual machine that you deploy your software on or to.
Check out the 12-factor App Methodology for a better explanation:
-
@ramblingbiped said in I really dont see Docker as stable, and perhaps neither should you.:
You'll not really benefit from containerized workloads unless you are deploying applications that are designed to be ephemeral and stateless. Trying to deploy an application using a container the same way you deploy an application to a virtual machine, is not the way containers were intended to be used.
Containers should not be thought about in relation to virtual machines, they are two different things. Containers provide an encapsulation and abstraction of a service from the operating system. Containers are not a miniature virtual machine that you deploy your software on or to.
Check out the 12-factor App Methodology for a better explanation:
Well part of the issue here is that you are describing docker not containers. Docker is a special case as highlighted in my talk.
-
@RamblingBiped thanks for the link
@scottalanmiller its funny you mention Solaris because that is mostly what I think of when I see containers mentioned. Will that talk be online down the road that you gave?
-
@bigbear said in I really dont see Docker as stable, and perhaps neither should you.:
@RamblingBiped thanks for the link
@scottalanmiller its funny you mention Solaris because that is mostly what I think of when I see containers mentioned. Will that talk be online down the road that you gave?
Hopefully the recording comes out. We've not been able to view them yet.
-
Solaris was my first containers too. I always think of Zones first.
-
Please mention another reason for not using Docker with Linux based operating systems:
If the UID on your host system doesn’t match the UID of the user inside your Docker container, you will have file ownership issues.I think most people don’t encounter this because they are probably the only user on their development machine, and most people only add a single user in their Dockerfile to run their app.
I’m not sure about other Linuxes, but Ubuntu will assign the first user a UID of 1000 so if you’re the first user on an Ubuntu host and you have an Ubuntu-based Docker image, you won’t even notice.
Personally, i was given advice to avoid host volumes even though the case can be resolved with bindfs and a privileged machine in a Windows environment.