3 ms·
Docker obscures the implementation details. Part of this is by design: don't worry about the hard stuff, because Docker does it for you. It's completely unsurp
by haswell 6y ago
Docker obscures the implementation details. Part of this is by design: don't worry about the hard stuff, because Docker does it for you.
It's completely unsurprising that many folks haven't spent the time to dive into the internals. In many cases, because they don't need to.
Such is the nature of abstraction and higher level frameworks.
- outworlder 6y agoWe aren't even close to a point where someone can just pretend a container is a magical box that just works. All abstraction leak. This is a relatively recent, quite leaky one.
- haswell 6y ago> We aren't even close to a point where someone can just pretend a container is a magical box that just works. I challenge this assertion. While it is of course true that there are situations that require a deeper knowledge of Docker, this is also not universally true. Many projects these days have a Getting Started doc that has some options like: - Build from source - Install this package - Use Docker I often choose the Docker option because I know I'll (most likely) get a working version of the project in 5 minutes with minimal effort. I might not even fully understand the project yet or its architecture (much less that of Docker), but I can get it up and running with `docker pull` and `docker run`. In many cases, I'll never need to know anything more. I've personally spent more time using docker to build my own stuff, so I've had to learn more. But for many folks, it absolutely is a magical box that just works, and that's perfectly ok. I agree that all abstractions tend to eventually leak. But depending on why you're using Docker, you may never have a reason to encounter that leakage.
- stephenr 6y agoJust because CorporationX says “don’t worry about it we got you bruh” doesn’t mean technologists - people who actively work with technology and write software - should be excused for just throwing up their hands and saying “it’s just ducking magic I don’t know how it works”. I’m not talking about understanding it to the level of being able to contribute a patch to the project. I’m talking about understanding that containers are inherently tied to the kernel, and thus are limited to running software written for the same kernel as the host running the container. It isn’t rocket science. I literally explained it in one sentence, and I’ve never used docker in my life. This is along the same level of knowledge as “no, you can just take an iPhone app and run it on android” or “no you can’t just take a SQLServer query and run it on anything that vaguely knows “SQL”.
- haswell 6y ago> Just because CorporationX says “don’t worry about it we got you bruh” doesn’t mean technologists - people who actively work with technology and write software - should be excused for just throwing up their hands and saying “it’s just ducking magic I don’t know how it works”. Entire industries are built on the premise that "don't worry about it, we got you". I'm not saying that it's appropriate to be completely blind/unaware of what you're using, but there's a line somewhere that's surprisingly difficult to draw in 2020. I don't think anyone would argue that learning more is a bad thing. But the more salient point is that for many, it's just not necessary. If you're doing work that requires a deeper knowledge of the thing, then of course you should learn it. If you're not doing work that requires this knowledge, it'd be a waste of time, the most precious commodity available to us. Others have made the comparison to learning assembly. Useful? sure. Necessary in 2020? Usually not. > It isn’t rocket science. I literally explained it in one sentence, and I’ve never used docker in my life. This is what you said: > ... if docker ran “natively” it’d mean using kernel hooks provided by xnu, which means you’d be able to run another instance of macOS in a container. Not only does this tell the reader nothing practical about how Docker actually works, it doesn't even address the parent comment in a useful/informative way. You followed this up with a statement that is a borderline personal attack on the parent comment. I mean this as constructively as possible, but you need to work on your delivery, and ask yourself what you're trying to accomplish with these comments. So far, they've been unhelpful and borderline abusive.
- diveanon 6y agoLeading by example. You have a lot more patience than I do, unfortunately I think this person just wants to be mad.
- stephenr 6y ago> This is what you said: The “one sentence” I was referring to is right above the bit you quoted: > I’m talking about understanding that containers are inherently tied to the kernel, and thus are limited to running software written for the same kernel as the host running the container.