Live data from Hacker News

Basically Everyone Should Be Avoiding Docker

lukesmith.xyz

81–90 of 103 posts

Re: Basically Everyone Should Be Avoiding Docker

#81

Earlier quoted context omitted.

i love the convenience and ease-of-use but worry about the security compared to full-blown vm

Kata containers is a nice compromise. Each container is run as a microvm

thanks! so they achieve the convenience of docker with the added security of full-blown kvm? trading some perf and resource-use?

https://katacontainers.io/

Re: Basically Everyone Should Be Avoiding Docker

#82
post #80

Great points in this thread, but I would say another advantage of Docker is that of documentation. The Dockerfile is a description of a reproducible build, and a docker-compose.yml file documents how running services interact, which ports are exposed, any volumes that are shared, etc. It’s all too easy for config knowledge to be siloed in people. I got the impression that the Author prefers tinkering with pet servers…

> The Dockerfile is a description of a reproducible build It's not inherently reproducible but it can potentially be made so.

How is it not reproducible?

Re: Basically Everyone Should Be Avoiding Docker

#83
post #80

Earlier quoted context omitted.

> The Dockerfile is a description of a reproducible build It's not inherently reproducible but it can potentially be made so.

How is it not reproducible?

By default there is no assurance that any external resource you use is going to be the same every time. Whether that's another image, a package you install, etc. This is something you have to ensure yourself if you want it to be actually reproducible. Specifying a specific version or hash of an external resource can help get you there.

Re: Basically Everyone Should Be Avoiding Docker

#84

Earlier quoted context omitted.

i love the convenience and ease-of-use but worry about the security compared to full-blown vm

Kata containers is a nice compromise. Each container is run as a microvm

On the surface, Kata appears to be a variation of LXC/LXD.

Re: Basically Everyone Should Be Avoiding Docker

#85

This has rather strong “old man yelling at clouds” vibes. OP: Learn docker and it stops being an “impenetrable wall.” Face it, you don’t want to use docker (or podman) because you are set in your ways. That’s fine, but it is not an argument for anyone else.

When I encounter a README/INSTALL that advises Docker, I start to suspect that the package is a mess. I'm sure there are legitimate usages within enterprise-y scenarios, but it has commonly become a way to paper over other issues.

When I encounter a README/INSTALL that doesn’t provide docker instructions, I move right along. I’m not (1) using my precious time to figure out how to get your instructions for your machine to work on my custom configured environment (docker solves this), and (2) I’m not polluting my host machine with your crap (docker solves this too).

Docker is not about enterprise. It is about having a standard format for relaying configuration and install instructions to produce a reproducible dev or production environment on any hardware or OS.

If you don’t take the time to do that with your open source project… yeah I ain’t touching it with a 10ft pole.

Re: Basically Everyone Should Be Avoiding Docker

#86
post #55

> Well, if you’re expecting Docker to have a file-system easily accessible, you’re wrong—in fact, that’s “the point.” I can’t use typical commands like updatedb/locate/find to find what I need. I have to run a command with a massive prefix specific to that container. I don’t have tab completion when running Docker container commands, so when I inevitably mistype while searching for the file or attempting to delete it…

No you're not missing anything, aside from the small part of containers that are "FROM scratch" and don't have a shell binary, you can do the command you wrote. The author didn't seem to research how to use Docker before writing this.

OrbStack gets around the issue you mentioned

https://docs.orbstack.dev/features/debug

Re: Basically Everyone Should Be Avoiding Docker

#87
Author could have boiled this article down to his conclusion at the end and saved everyone alot of time:

"Ergo, I don’t use Docker and containerization, I’m annoyed by them and I don’t do tutorials on them. They are not for me or for people who want to do basic personal sysadmining. I think enterprise sysadmins would definitely do better doing more for their personal life outside of things like Docker, but again, there are reasons people use these things for many professional use-cases."

Re: Basically Everyone Should Be Avoiding Docker

#88

Earlier quoted context omitted.

Kata containers is a nice compromise. Each container is run as a microvm

On the surface, Kata appears to be a variation of LXC/LXD.

meaning not a full-blown vm security boundary?

Re: Basically Everyone Should Be Avoiding Docker

#89
I don't like Docker, but I do like the idea of containers, and have since I moved from Solaris 9 to Solaris 10. These days I frequently use podman and sometimes use lxc. Ignoring the development workstation benefits, I like using containers to bundle (almost) all the configuration elements together, limit resources that one service can take (I know you can do that with cgroups as well), and isolate configurations from each other.

Re: Basically Everyone Should Be Avoiding Docker

#90
post #83

Earlier quoted context omitted.

How is it not reproducible?

By default there is no assurance that any external resource you use is going to be the same every time. Whether that's another image, a package you install, etc. This is something you have to ensure yourself if you want it to be actually reproducible. Specifying a specific version or hash of an external resource can help get you there.

Thanks - that makes sense now. I was thinking of "reproducible" as in it does the same thing each time, but as you say, that can lead to different outcomes - usually updated or patched versions of base images etc.
Post reply on HN