[HN Gopher] Painless Desktop containers for everyday development ___________________________________________________________________ Painless Desktop containers for everyday development Author : user787837 Score : 55 points Date : 2022-06-04 21:07 UTC (1 hours ago) (HTM) web link (dock.orion3.space) (TXT) w3m dump (dock.orion3.space) | rvz wrote: | Hardly a cross-platform solution like what the current Docker app | does, with tons of moving parts which you are 1 upgrade away to | breaking everything with that installation and its back to re- | installing it again or wasting time digging down and trying to | fix what went wrong for just one distro in the worst case. | | > You may not be able to run this default image under MacOSX, | although dock scripts themselves are fully compatible. | | Probably developers using Windows are also unable to run this | script as well. So I guess they are no better off with a 1 click | install with Docker Desktop. | | It seems the video I saw had more than 2 steps. If it is really a | 2 steps installation then it is 50 steps back when it all breaks. | smoochy wrote: | Author here: it actually doesn't break. Been running it for 1,5 | years. It's bash, there isn't much that can break. And it uses | Docker cli with no hackery or experimental options. | | The only thing I am working on right now: a way to avoid | building special images for MacBooks or ARMs, but rather have a | patch-tool (a bash script, essentially), which would pull any | image your like from Docker Hub and then run patches on it | (patches are also simple, readable Bash scripts which would | work kind of like migrations for DBs), so that you will quickly | have a Dock-compatible image and if you wanted a Python or a | Ruby env you'd use an extra set of included of patches or write | your own. | | It sounds more complex that it would work, honestly. | hhh wrote: | I don't see the point of evading Dockerfiles. All of these | customizations to me seem like they're just doing what you would | do in a Dockerfile for creating a base image, but in a non- | friendly way for people not using Dock. | | From reading, there seems to be planned support for VMs, which is | where the mental click is for evading dockerfiles to me, but when | creating VMs you have the same thing. The equivalent (in my mind) | of this for VMs exists as Multipass, where you pass a cloud-init | file for configuration. | | I think it's cool for playing, but if I could create a Dockerfile | in the directory of the project, as simple as "FROM | ubuntu:latest" and when I run Dock it takes this Dockerfile and | then builds a new image ontop of it (with all these | customizations, dropping me into a shell) _that_ is where this | would shine to me. It may just be a workflow thing, but if I am | building a container, I am already building Dockerfiles. They 're | not _just_ for Docker, many many tools use them for containers | more generically. | | The _painful_ part when building a container is when I am doing | something decently involved (e.g. implementing a proprietary | software daemon & driver for a German camera manufacturer that | has to have custom udev rules and many, many customizations,) and | just want to extend my natural terminal environment into that | space to explore what's up. Then when I am done, I should be able | to run docker build and get the clean, bare container. It's very | rare that I just need an arbitrary container that will go away | when working on a _project._ Periodically I may generate an | ubuntu pod or something, but it goes away fast and generally | lives for less than 10 commands. | | With that being said, I don't mean to poo-poo, as I do _really_ | like the aesthetic, the documentation is beautiful, and the | thought put into it. I just don 't see where it fits into my (or | many people I know)'s workflow pretty much strictly because of | the Dockerfile thing. Some of the other tools look cool though, | so I threw a buck or two in the hat :) | smoochy wrote: | Thank you. Yeah, I guess it's a matter of what you're used to. | For me personally, I've never gotten used to Dockerfiles. It | seemed like another configuration file format invented for | nothing. With rules I had to remember. Entrypoint? Ugh. So I've | just done everything in Bash, made it imply which | container/image I want from $PWD and it saved me a ton of time. | And, actually, I do tend to create/destroy containers quite | often because of how easy it is (no editing files or eve | providing cli arguments do `dock`). | | As for supporting VMs - you misunderstood. I meant support for | other container engines. To me, it would most notably be BSD | jails. In fact, if I get to it, I'd like to do something much | more cool... Perhaps it would make sense to have a VM with | FreeBSD running on a machine and then BSD jails running in it, | all managed by a relatively small too-lset, such as `dock` - | I'd probably have to rename or fork it. But the cool part of it | all is that containers won't even depend on an architecture, | since they'd be running inside a VM. | coffeeblack wrote: | Download some script and run the installer? Sounds like | "setup.exe". How to be sure the site wasn't breached? | user787837 wrote: | We download, install and run scripts and binaries written in a | variety of languages ALL of the time. This one's in Bash - even | a child can sort of check it out. It is intentionally written | in Bash and the code base is small (for this kind of project), | so as not to obscure much. | zamalek wrote: | That is significantly more steps than Distrobox or Toolbox (2:39, | vs probably 0:30), and it uses Docker and Ubuntu. Folks, we | should be forever grateful what Docker and Ubuntu achieved but | they have lived well into the "become the villain" territory. | | I have my containers built by Gitlab[1], and I jump into them | with Distrobox. It honestly couldn't be simpler. | | [1]: https://gitlab.com/jcdickinson/containers/ | user787837 wrote: | Wait, 2 steps for the installation are too many? :) | | On a serious note, I think it has been made clear this isn't | intended _just_ for Docker, but any other container engine too, | potentially. And from my experience using it every day, it | saves a ton of time. As opposed to regular Docker usage | patterns. I just navigate to my project directory and type | `dock`. There is no need for any external service, such as | Gitlab or even Docker Hub. ___________________________________________________________________ (page generated 2022-06-04 23:00 UTC)