Live data from Hacker News

Dissatisfied with Docker

robert.ocallahan.org

81–90 of 229 posts

Re: Dissatisfied with Docker

#81
post #10

I just want to be able to save a container binary to a USB drive and then run it from a different computer without having to install anything.

Installing Docker or another container runtime is easy. I'd suggest creating a portable OS that you can boot from USB, or creating a local registry. You may also want to consider just creating a script to bind mount the binaries.

Re: Dissatisfied with Docker

#82
post #5

Nearly all points (daemon-less runtimes, daemon-less builds) the author has mentioned has been addressed by open source ecosystem in smaller standalone projects that are available. Docker provides a nice high-level layer for the end user on the developer machine. Its CLI is efficient, so are the builds when they're local, with a cache. I still use it on my dev machine despite being aware of the alternatives. Anyone s…

Distroless is not non-Docker, it's very much Docker.

Please explain.

You can build images using Bazel with distroless as the base image. Similarly I think Jib/ko use distroless images without needing a docker engine.

Re: Dissatisfied with Docker

#83
post #44

What's wrong with booting a VM off a standardized base image (e.g. an AMI), and then applying simple deployment scripts for each application you need to run? You could probably replicate 90% of the justification for using docker with some basic scripting. git clone https://github.com/myprofile/my-cool-app cd my-cool-app chmod +x deploy.sh ./deploy.sh That's it. The above script would be responsible for getting your a…

This is way slower than Docker. Rootless containers are already a thing. If you still want VMs then see Kata Containers. Containers have a lot of benefits, the major one for me is reproducibility and application sandboxing. There is a reason containers exist and that every large cloud platform has adopted them, including Microsoft adding support in Windows.

> This is way slower than Docker.

add-job bake-instances --app=my-id --instances=200

Oh, you never wrote tooling and you dont have a jobbing engine? Well, that's the complaiing that you can't get an an Uber because you did not download an app. It is sort of funny because every single shop that is "oh containers!" either creates them manually ( slow and painfully ) or just uses random ones developers find.

> There is a reason containers exist and that every large cloud platform has adopted them, including Microsoft adding support in Windows.

It is the same reason why Whole Foods sells sushi: that's teh way to sell salmon for $85/lb to hipsters. Hipsters hate buying salmon for $22/lb but they love the rolls.

Re: Dissatisfied with Docker

#84
post #61

Earlier quoted context omitted.

Docker for Windows is coming to use the WSL2, beta is already out.

WSL 2 itself uses a hypervisor though, so this is sort of a moot point.

Is this correct? I thought the headline feature of WSL2 was that unlike WSL it didn't use the hypervisor.

Edit: I looked it up. WSL2 continues to use a VM.

https://devblogs.microsoft.com/commandline/announcing-wsl-2/

Re: Dissatisfied with Docker

#85
post #61

Earlier quoted context omitted.

WSL 2 itself uses a hypervisor though, so this is sort of a moot point.

Is this correct? I thought the headline feature of WSL2 was that unlike WSL it didn't use the hypervisor. Edit: I looked it up. WSL2 continues to use a VM. https://devblogs.microsoft.com/commandline/announcing-wsl-2/

> Is this correct? I thought the headline feature of WSL2 was that unlike WSL it didn't use the hypervisor.

No, the headline feature of WSL2 is it uses a real Linux kernel under a hypervisor, as opposed to WSL1's approach of a kernel driver running inside the NT kernel which partially emulates the Linux syscall API.

> Edit: I looked it up. WSL2 continues to use a VM.

More accurately, WSL2 starts using a VM, whereas WSL1 didn't. WSL2 runs the Linux kernel inside a VM. WSL1 runs Linux processes under the NT kernel (albeit as a special type of lightweight process called a picoprocess), with an emulation layer to translate Linux syscalls into NT kernel calls.

Re: Dissatisfied with Docker

#86

The article is completely on point. Because of all the reasons exposed there (and a few more) I started Wasmer, a new container system based on WebAssembly - https://wasmer.io/ Here are some advantages of Wasmer vs Docker: * Much faster startup time * Smaller containers * OS independent containers (they can run in Linux, macOS and Windows) * Chipset independent containers (so they can run anywhere: x86_64, Aarch64/AR…

This sounds like a great idea. Docker on ARM is such a pain if you aren't building everything yourself because half the packages are x86 only

Re: Dissatisfied with Docker

#87
post #61

Earlier quoted context omitted.

WSL 2 itself uses a hypervisor though, so this is sort of a moot point.

Is this correct? I thought the headline feature of WSL2 was that unlike WSL it didn't use the hypervisor. Edit: I looked it up. WSL2 continues to use a VM. https://devblogs.microsoft.com/commandline/announcing-wsl-2/

You've got it backwards.

WSL was a translation layer between Linux and Windows, WSL2 uses Hyper-V (I believe with some special sauce to handle integration).

Re: Dissatisfied with Docker

#88
post #61

Earlier quoted context omitted.

WSL 2 itself uses a hypervisor though, so this is sort of a moot point.

Is this correct? I thought the headline feature of WSL2 was that unlike WSL it didn't use the hypervisor. Edit: I looked it up. WSL2 continues to use a VM. https://devblogs.microsoft.com/commandline/announcing-wsl-2/

WSL2 doesn't continue to use a VM, it is new in that it uses a VM. WSL1 did not use a VM, it directly interfaced with the NT executive.

Re: Dissatisfied with Docker

#89

Earlier quoted context omitted.

I have that problem too. Solution seemed to be to set up an alias to clean out old images, volumes, etc and run that every so often

those scripts are now built into docker with `docker system prune`

“docker system prune” is a recipe for pegging my cpu for the next few hours.

Re: Dissatisfied with Docker

#90
post #42

There are two kinds of software: software no one uses, and software people complain about.

There's also software that was created to solve a specific problem that got misappropriated to do something else

There used to be an ISP called pilot.net. It was a crappy ISP but to solve its ISP billing problem it wrote a billing system for telcos.

There was a company that tried competing with AWS selling hosting based on hyperthreads of CPUs. It wrote its own provisioning system because it did not want to pay for Virtuozzo. The company's name used to be dotCloud.

Post reply on HN