Live data from Hacker News

WTF is a container?

techcrunch.com

191–200 of 262 posts

Re: WTF is a container?

#191
post #124

Earlier quoted context omitted.

flabbergasted? Wow this is a new word for me, I have never heard of it. When i first read it in my mind I thought it was a Spanish Football player that used to play for Arsenal, Then Barcelona, and now Chelsea. LoL Is this word even used anywhere else beyond US? Never heard it used in the UK.

flabbergasted is very widely used in the UK, really puzzled how you could possibly not come across it if you've spent more than a few months here.

Indeed. One might say it is almost flabbergasting!

Re: WTF is a container?

#192
post #44

I guess I'll never get it. Don't most OSs already run processes isolated from each other, have advanced process scheduling mechanisms and manage access to hardware resources? Also with static linking nothing stops you from creating huge binaries that "will run anywhere".

Imagine you run 3 different ruby (or whatever other language) and they all run on different versions of ruby. Containers allow you to easily isolate the whole stack including the individual version of ruby and install only the packages needed for that app to run in its own container. Of course it's still possible to do this without containers, my company handles it by building our own custom rpms for each ruby version and sticking them in /opt.

Re: WTF is a container?

#193

Earlier quoted context omitted.

Alpine containers are nice if you're just looking at size. But they break down once you `docker exec` into them to try to debug something: $ docker exec -ti mycontainer /bin/bash stat /bin/bash: no such file or directory $ docker exec -ti mycontainer /bin/sh / # curl https://localhost:5000/ /bin/sh: curl: not found / # strace $command /bin/sh: strace: not found

Takes about 2 seconds to fix: $ docker run -ti alpine /bin/sh / # apk add --update curl fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz (1/4) Installing ca-certificates (20160104-r4) (2/4) Installing libssh2 (1.7.0-r0) (3/4) Installing libcurl (7.50.3-r0) (4/4) Installing curl (7.50.3-r0) Executing busybox-1.2…

Hitting dl-cdn.alpinelinux.org repeatedly for simple things is probably not nice. Is there an easy way to have a local alpine mirror?

Re: WTF is a container?

#194
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…

I think they've said in talks/presentations that the challenge they have with some stuff (like Borg) is that they can't really extract individual components. It's all too tightly coupled. It wouldn't be fair to ask them to open source their whole stack. The fact that they took the lessons learned and created Kubernetes or published papers on their technologies is more than enough.

Re: WTF is a container?

#195
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.

I'm missing the initial assumption. What is the connection between Docker and traction for Go and OCaml? People are using the latter in order to simply avoid containers?

Parts of Docker are implemented on them.

So anyone that wants to improve Docker or adapt it to their distribution of choice needs to eventually use them.

For example, Microsoft did several contributions in Go for making Docker run on Windows.

The TCP/IP stack used by Docker on OS X is taken from MirageOS, written in OCaml.

Re: WTF is a container?

#196
post #146

Earlier quoted context omitted.

It was already clear in the late 70's and early 90's that C wasn't a reliable option to write safe systems. Dennis M. Ritchie himself on the history of the language[0] "To encourage people to pay more attention to the official language rules, to detect legal but suspicious constructions, and to help find interface mismatches undetectable with simple mechanisms for separate compilation, Steve Johnson adapted his pcc c…

Where is this mythical C++ community that promotes safe and auditable programs? Whenever I'm forced to use a C++ program it's buggier than the C equivalent.

Except for relatively uncomplicated, or relatively low level programs I have had the opposite experience.

Re: WTF is a container?

#197

Earlier quoted context omitted.

My reply is off-topic, but I cannot resist. > I think you missed his point. He was speaking generally [..] shawnee_ --> hackeress.com > What is a hackeress? > A hackeress is a female hacker. Bad form to assume all people are males in this domain (or even the majority for that matter, regardless of the actual statistics). Use the form "they" when referring to someone whose gender (or gender identity) is unknown to you…

I think the assumption arose not from the demographic of people on Hacker News, but from the username of that poster. "Shawn" is a fairly common name, where one in every 2000 people will be named it. [1] Meanwhile, "Shawnee" is a really rare name[2], one you may not be aware of if you didn't grow up in the US (or in particular parts thereof). (Apparently only 4000 of them are alive today!) Just as an aside, using "th…

That is not the passive voice.

Re: WTF is a container?

#198

Earlier quoted context omitted.

In containers a few more things are virtualized. The file system is semi-virtualized. Network ports are too. So from the pov of stuff inside the container nothing else is running. That's not true of processes in general. From outside the containers you can then choose how to map parts of the virtual file systems to parts of the real file system and what real network ports the virtual ports connect to etc... There's m…

So let me try to understand this from a different angle: what's something that a VM can and does do, that container software like Docker can't? TFA makes it sound like legacy systems is the only place for VMs anymore, but I'm guessing that's probably approximation+exaggeration.

In my (limited) understanding: host OS and guest OSes can be completely unrelated. Whereas in containers, the host and guests share the kernel.

Re: WTF is a container?

#199
post #159
post #141

Earlier quoted context omitted.

Ok, throw Docker away. Did anybody have better experience with e.g. Rkt?

I really like: daemontools + static binary + setuidgid and maybe chroot. Or mesos where everything needs to be in a tarball, which is extracted and sole program run. If stuff is statically linked and related files (config, assets, ...) are part of bundle that can be chrooted, what is the value add of a container?

It's not hard to use control groups in daemontools family style, either.

* http://jdebp.eu./Softwares/nosh/guide/move-to-control-group....

Re: WTF is a container?

#200
post #58

Earlier quoted context omitted.

The concept is great but it's also not original. It's called "processes". Docker is little more than a mass of complication laid atop fork+exec. That's why nobody can get it right - because we already did.

How is "your own network, your own view of the file system, your own view of the process table, your own view of the user IDs, ..." the same as "processes"?

On modern Linux distros every process is running in a cgroup and namespace by default. So these days the main difference between a "container" and a regular process is that regular processes are all jumbled together in the same root namespace, and containers are in separate namespaces.
Post reply on HN