Remix.run Logo
whinvik 8 hours ago

Sorry off topic question but has Docker come up with a easy to use dev solution. I always end up with using Devcontainer: it solves the sandboxed, ready to use dev env.

But the actual experience with developing on VSCode with Dev Containers is not great. It's laggy and slow.

eYrKEC2 3 hours ago | parent | next [-]

My one experience with dev containers put me off of dev containers... but standard `docker compose` is just great for me.

I worked at a company where we were trying to test code with our product and, for a time, everyone on the team was given a mandate to go out and find X number of open source projects to test against, every week.

Independently, every member of the (small) team settled on only trying to test repos where you could do:

        get clone repo && cd repo && docker compose up
Everything else was just a nightmare to boot up their environment in a reasonable amount of time.
mfro 7 hours ago | parent | prev | next [-]

Devcontainers are great for me on windows and macos. What stack are you using?

whinvik 40 minutes ago | parent [-]

I am on a Mac but I develop remotely on a VM, LSP is sometimes so slow, I want to shut it down.

wilsonpa 8 hours ago | parent | prev [-]

Really? I work across multiple vscode projects (locally), some use dev-containers and others don't. I have never noticed any difference in experience across the two.

I have also used them remotely (ssh and using tailscale) and noticed a little lag, but nothing really distracting.

amonith 7 hours ago | parent [-]

Most likely a Windows or MacOS user, where docker runs in a linux VM. Optimized as much as possible and lightweight, but still a VM.

pjmlp 6 hours ago | parent | next [-]

Windows is a bit "yes but" kind of situation.

First of all it supports containers natively, Windows own ones, and Linux on WSL.

Secondly, because Microsoft did not want to invent their own thing, the OS APIs are exposed the same way as Docker daemon would expect them.

Finally, with the goal to improving Kubernetes support and the ongoing changes for container runtimes in the industry, nowadays it exposes several touch points.

https://learn.microsoft.com/en-us/virtualization/windowscont...

okanat 7 hours ago | parent | prev [-]

No, on Windows it is very quick too. On WSL2 compiling Rust programs are almost as fast as Linux on bare metal. However the files need to live inside the Linux filesystem. Sharing with Windows drives actually compiles slower than native Windows.

pjmlp 6 hours ago | parent [-]

You can use dev drives instead, I guess.

okanat 5 hours ago | parent [-]

If you are building natively, yes. However the original comment is about Dev Containers which runs under WSL2.

If you open a native Windows folder in VSCode and activate the Dev Container, it will use the special drvfs mounts that communicate via Plan9 to host Windows OS to access native Windows files from the Docker distro. Since it is a network layer accross two kernels, it is slow as hell.