My experience agrees with this. I'm a huge fan of Docker, I've actively taken part since the early days, attending meetups and using it actively day to day. Unfortunately, when I brought several issues to GitHub, or +1'd other people's issues that were affecting the usability within our company, the attitude was very much "f* you and your problems" because Docker want things to be one way and that's how it'll be. The…
I wonder how much of that attitude was caused by an overstretched team with no effective scaling mechanism in place. No, "open source" does not automatically mean "scalable team". Part of Kubernetes success is its ability to scale up the community, empowering multiple entities to meaningfully contribute.
Why doesn’t anyone weep for Docker?
141–150 of 248 posts
Re: Why doesn’t anyone weep for Docker?
#142Earlier quoted context omitted.
If you run in your container as a non-root user, it makes working with volumes a pain. Who knows what the container user UID will map to on the host and whether this host user, if any, will have permissions to access files in the volume. Otherwise you can hard code a UID when creating the user in the Dockerfile but that means your containers aren't generally portable. In the end, the path of least resistance is to ru…
In the Dockerfile, get UID and GID as ARGs, and make sure those variables are available in your host environment. Then when creating the user in Dockerfile, use that UID and GID. Volumes will work like a charm. That's what I am doing for local development setups with Docker. See https://github.com/a2way-com/template-docker-laravel/blob/ma... and its README.
Re: Why doesn’t anyone weep for Docker?
#143Earlier quoted context omitted.
Why bother with containers at all at that scale then? We keep on using plain old VMs, while watching everyone rush into containers fashion.
I like the tooling better and suspect that many other developers feel the same. Docker is more like managing and configuring software libraries and dependencies. You just declare what type of environment you want and it's there. If you change the version number of a dependency the old image is discarded and a fresh one is created. The Dockerfile is managed with the source code. VirtualBox feels like installing a regu…
Most of developers that are suddenly becoming more productive with docker do equivalent of a full install of an distribution that they run in production, call it a container and get the claps from management because "We managed to do it faster". Never mind that the surface for brokenness is now even higher than the surface for brokenness on a VM that the container is going to be ran on had the VM got the full install of of the distribution.
> VirtualBox feels like installing a regular computer. It takes a long time and is a lot of manual work. If you want to change something you login on the existing VM until you reach a point where you no longer remember all the changes you've made over the years. The machine is unclean.
That's because in this approach no one bothered to do equivalent of what one does when creating a docker image - write chef/puppet/salt/ansible baseline configuration so the new VM is nothing other than "base-VM + special config for this function".
Re: Why doesn’t anyone weep for Docker?
#144Earlier quoted context omitted.
> VirtualBox feels like installing a regular computer. It takes a long time and is a lot of manual work. If you want to change something you login on the existing VM until you reach a point where you no longer remember all the changes you've made over the years. The machine is unclean. Unfair comparison. People running on VMs usually rely on configuration management to do the install+config part. Think of stuff like…
Config management isn't a magic bullet. At the core every config management platform is manual work in a for loop. Lot's of layers in the case of Salt/Puppet to make it a bit more ergonomic but you're ultimately still on the hook for all the server maintenance. No config management is all-encompassing and so without extreme diligence you will lose the state of your servers over time. I use Ansible all day every day -…
Only if you are not actually cleanly managing containers. With containers you just pile the shit into them, close the doors and say "Oh look, we have a clean surface!" which is certainly fine in the dev.
If it is fine in production, then it does not matter if the shit is in containers, VMs, dedicated servers, etc. Container may as well be curl http://mylservice/containername.img followed by dd if=containername.img of=/dev/sdb ; set-boot-flag-sdb ; reboot
Re: Why doesn’t anyone weep for Docker?
#145Earlier quoted context omitted.
At last, someone who gets it. Absolutely nailed it. Great answer. I never log into my HN account anymore, but for this response I just had to say: yes. Well said. When you boil the Cloud, DevOps, CloudOps, SecOps, *Ops, CI, CD, Containers, VMs, and all the other technologies we've devised over the past ten years, you always end up at the basic building blocks. You eventually come to the conclusion that all we're real…
I agree with _dsr, he really nailed it. As for GitLab I agree they got the balance right except that it feels quite Kubernetes centric.
Re: Why doesn’t anyone weep for Docker?
#146Re: Why doesn’t anyone weep for Docker?
#147Can anyone offer a good guide to DevOps for people who don't directly use these tools but work with engineers who do and would like to learn more? The whole ecosystem of servers, cloud infrastructure (and all of the different offerings there), Docker, Kubernetes, CICD tools etc is a bit overwhelming to get into.
Sure. None of the things you mentioned are DevOps. DevOps is two things: 1. Applying the methods of modern software development (version control, automation, DSLs...) to operations (provisioning, config, deployment, monitoring, backups...). 2. Reducing silo barriers between devs and ops groups so that everyone is working together as a team, rather than blaming each other for poor communication and the resulting messe…
- DevOps is a peer with Agile and Lean. Scrum and XP are Agile implementations. Scrum doesn't prescribe ways to code, XP does.
- 90% of what people develop or run today should be in containers, and not because containers are great, but because of the DevOps patterns of IaC, immutability, reproducibility, homogeneous environments. Whether you run them on your laptop, a VPC, AWS Fargate, a K8s cluster, etc is dependent on your business needs.
- Continuous Integration and Continuous Delivery aren't so much tools as a practice, and they're more complicated to implement at scale than just using a tool. There are some great books on the subject.
Re: Why doesn’t anyone weep for Docker?
#148This article seems to be arguing that Docker’s primary downfall was being hostile to its open source community. Without having an opinion on whether that’s true, I suspect the core issue was not that but their business model and execution. Before Kubernetes was the dominant container tech, they were pushing Swarm but I remember being confused about where Docker “standalone” stopped and where Swarm began. Perhaps it w…
Totally agree with your first paragraph. Regarding execution, I'm not sure what Docker could have done differently that did not lead to the outcome we have today. I don't think that playing nice with other opensource devs would have made a difference (as the article claims). Also .. the K was hardened at Google is BS. The ideas, maybe. But I am quite skeptical about the amount of prod internal google code went into e…
Swarm was 2-3 people in the early days, without as much strong opinionation about what exactly they were building, which meant while it was a tighter, simpler system, it couldn’t evolve as easily.
I’m obviously biased - I was the first non googler to have commit on the repo. But it’s much easier to build something when you know upfront exactly what it looks like and you have a set of committed and experienced engineers with good leadership.
Re: Why doesn’t anyone weep for Docker?
#149Earlier quoted context omitted.
Well, systemd sucks balls, so I kind of agree with not having PRs specific to it, but I see your point that wearing that on a name tag isn't very nice.
> systemd sucks balls No it doesn't. Shell scripts in your init system sucks balls. Systemd is great.
I think the reality is both have their pros and cons, and it depends on your use case.
Re: Why doesn’t anyone weep for Docker?
#150None of this applies to Docker itself. Docker is “just” a virtualization technology. Sure, Docker Swarm exists, but at this point it’s mostly used as a shimming UI for connecting the Docker client and daemon to the abstractions mentioned above, not a clustering solution in its own right. Swarm lost in the DCOS market. And the market for pure virtualization solutions isn’t anywhere near the market for DCOSes.