Live data from Hacker News

WTF is a container?

techcrunch.com

101–110 of 262 posts

Re: WTF is a container?

#101
I remember going to AWS Reinvent last year and having some beers with a bunch of people who did devops. We started talking about tools, and they were utterly flabbergasted, that we had not embraced docker. They went on an on about how simple docker made HA, and handling fail overs/maintenance. More or less made it seem like it was the greatest thing since sliced bread.

Me and a few coworkers decided to try and dockerize some of our serivces, and move our staging ES cluster to docker.

For the most part building our own containers was easy enough, for the various services. The biggest issue we had was with Elasticsearch, since we have 4 types of nodes. So we ended up building 4 specialized containers for each node type.

Then came the issues:

* Making containers work together, for example we use a logging agent, we decided to make that its own container. Then actually getting a way to share a log directory with the agent, was very painful and unclear. (Honestly the single most frustrating thing i recall was asking for advice in irc and more or less being told i am doing it wrong)

* Containers would randomly crash under load exiting with error 137 out of memory. Apparently a few of our services would randomly leak memory, but only when running inside a docker container vs ubuntu 14.04. (I never figured this out)

* Containers would randomly become unreachable, forcing me to kill them and restart them.

* Random hanging issues, suddenly docker exec is hanging. Being told to revert to an older version, or install a newer version is tiring and makes my environment very inconsistent.

* Trying to debug why our app in the container isn't working is not fun at all.

However the single part that killed me was, i was chatting with one of the people who i met at Reinvent, and i mentioned my issues. He acted like it was completely normal for these kinds of issues.

After a solid 2 weeks of random issues and the constant barrage of pagerduty alerts, i just rolled everything back to static EC2 instances for staging, and have ran into 0 issues. I want to try containers again because i want them to work, but i have just had too many issues.

Re: WTF is a container?

#102

Earlier quoted context omitted.

Docker gives you the building blocks, but that means you have more pieces to arrange and manage. Take a look at Docker Compose if you haven't already, since the Docker CLI only gets you so far when you're creating apps that consist of multiple containers. I think the best approach for your cert issue is to abstract that into a separate service (nginx is an option, but I'd recommend the Rancher approach below). Yes, t…

> but that means you have more pieces to arrange and manage wait. aren't these things supposed to give us less pieces to arrange and manage? > The problems that you're having are pretty easy to fix with some tooling yes, of course the solution is more tools. what exactly was the problem again?

Its somewhat akin to microservices, where you split each functionality into its own service rather than having one monolith do everything.

Re: WTF is a container?

#103

I remember going to AWS Reinvent last year and having some beers with a bunch of people who did devops. We started talking about tools, and they were utterly flabbergasted, that we had not embraced docker. They went on an on about how simple docker made HA, and handling fail overs/maintenance. More or less made it seem like it was the greatest thing since sliced bread. Me and a few coworkers decided to try and docker…

Reminds me of the early days of asterisk and open-vz virtualization. Everyone sane stayed physical but a few of us crazy enough were able to push through and reap the rewards early on.

Re: WTF is a container?

#104
post #38

Earlier quoted context omitted.

Encouraging to hear. Who do you work for, who has these 3,000 LXC containers in production use? And I'm curious, what orchestration system do you use to manage them? Can you outline your toolset?

We use ansible and bash scripts for orchestration.

If you'd care to go into more detail, or could point me to your technical docs, I'd be very interested.

How, for example, do you handle roll-out, destruction, monitoring, backups, network configs, secrets, etc etc... is there any degree of automation? And why not take advantage of existing orchestration solutions? Was nothing mature enough for your needs? How big is the team managing these 3,000 containers, what sort of traffic are you handling?

Asking out of genuine curiosity. I'm keen on understanding how plain LXC can be used robustly in a production environment.

Re: WTF is a container?

#105
post #86
post #74

Earlier quoted context omitted.

As others say Docker is probably over-hyped technology. However, I do see it as positive, because its hype, regardless if good or not, has created the traction for Go and OCaml on the data center, thus eventually leading to less C code for such use cases. So hype or not, maybe we do get some security improvements on the overall stack.

Out of curiosity, why is less C code a good thing?

Maintenance. A lot of the younger programmers have very little experience with running/working with C code and stack; they are a lot more comfortable with Java/Python/Go (for backend). So the less C code you have to deal with in your stack, the easier it is for deployment/debugging. Not to mention, the more modern languages also provide many features that allow pinpointing errors faster etc.

Re: WTF is a container?

#106
post #99

Earlier quoted context omitted.

And, as probably everyone knows, Google runs everything in containers and has been using containers for a decade: http://www.nextplatform.com/2016/03/22/decade-container-cont... Docker may be flawed, but containers aren't. If you need some enterprise leader to tell you this instead, here are some Gartner posts showing this is the way: VMs may be well established and "magic quadrant", but they are also on decline, and…

What really surprises me about Google is why they don't open source some of these great core technologies (MapReduce, Containers etc.) instead of publishing theory as academic papers. On the one hand, it may be a great way of promoting the creating of these tools from the ground up, inspired by the theory alone. On the other hand, Google's invaluable experience with using these technologies probably means their versi…

Kubernetes:

http://kubernetes.io/

Google Container Engine:

https://cloud.google.com/container-engine/

Open-source MapReduce implementation:

https://gigaom.com/2015/02/18/google-open-sources-a-mapreduc...

https://github.com/google/mr4c

Re: WTF is a container?

#107
post #91
post #64

Earlier quoted context omitted.

Deletion from registry v2 is definitely supported now. It's just a total PITA, and took them a while to implement. But I got my disc space back, so I'm not complaining. :P

Any pointers?

This answer on SO is more or less the approach I used:

http://stackoverflow.com/a/37716286/308278

Re: WTF is a container?

#108
post #75
post #69

Earlier quoted context omitted.

> How is a container different from just installing all the dependencies along with an application? Once the image is built, you can get another installation that is guaranteed to be identical. You can do that with VM images too, but you can not reasonably do that if you try to install multiple applications side by side in a single VM without further isolation - there are too many ways they can interact. > Isolation…

> guaranteed to be identical [Citation Needed] As far as I know, this isn't the case. That's why using Nix [0] for deployment is a much saner approach than Docker. But after installation and configuration has been done, containers are a viable technology for the rest. [0] https://blog.wearewizards.io/why-docker-is-not-the-answer-to...

The comment you are replying to mentions once the docker image is built, referring to the built layers. These are guaranteed to be identical.

Building from scratch, is not always guaranteed to be identical.

Re: WTF is a container?

#109
post #86
post #74

Earlier quoted context omitted.

As others say Docker is probably over-hyped technology. However, I do see it as positive, because its hype, regardless if good or not, has created the traction for Go and OCaml on the data center, thus eventually leading to less C code for such use cases. So hype or not, maybe we do get some security improvements on the overall stack.

Out of curiosity, why is less C code a good thing?

Security exploits caused by memory corruption, undefined behavior, ability to inject code, numeric overflows plus whatever is common to all memory safe languages.

https://www.cvedetails.com/vulnerabilities-by-types.php

Re: WTF is a container?

#110

Containers are often touted is this novel concept that's bound to revolutionise software development and software delivery in particular. The general idea isn't all that new however. Java Applications have been delivered as containers since 1995 (although the concept isn't explicitly named that way with Java applications). Each JAR / WAR is a self-contained application that can run anywhere where there's a JVM (which…

JAR/WAR general idea is not that new as well, we had CPAN before!

CPAN is more akin to Maven (or rather public Maven repositories) / RubyGems / NPM in that context. Perl modules are hardly self-contained. Compiling Perl module dependencies could be a real pain at times.
Post reply on HN