Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The usecase was Apple has Terminal.app, Windows has MS-DOS.

Tell me which you would rather use for node and or docker development.



Windows with git and its bash installed works surprisingly well for node development. Docker doesn't work on either MacOS nor Windows, right?


I have used docker on MacOS. I don’t know about windows but it ran fine on my mac. Is there something particular that didn’t work for you?


I use Docker on macOS daily for work. I love it, and am grateful for it, but the experience is NOTHING like using Docker on Linux. Docker for macOS runs in a virtual machine, and requires dedicating RAM to the daemon. You aren’t directly using the host OS’ kernel either, which can lead to wonky behavior, especially in regards to networking (IME).


Have you tried podman (https://podman.io/whatis.html)?


How would podman help here? It doesn't run on macOS at all.


There are a number of use cases where Docker for Mac and Windows are painful compared to Linux, and to overcome those problems (like fs performance on shared volumes) people spend a lot of time building hacky solutions.


- Bind mount performance is appalling, even with the delegated/cached modes. I understand the reasons for this, but it's still a major issue for some workloads. To use PHP development as an example, where a popular framework boot-up can read hundreds of files per request (as well as writing out to caches), it's not uncommon to see 5 second response times for a page that displays "hello world" and nothing else. Thankfully there are tools like docker-sync and Mutagen which, while it's one extra thing to set up, get you back to nearly native performance.

- com.docker.hyperkit is nuts. I can have a single container idling in the background doing nothing, hear my laptop fans spin up, and know without checking that com.docker.hyperkit is using 200% CPU for no discernible reason. Restarting the daemon brings things back down...for a while.

At the office we use Linux, but since I've been working from home on my Mac I've gone back to Vagrant for as many projects as I can. Heavier and far less easy to orchestrate yes, but I've found I actually end up with better and more predictable performance (and far less time with my laptop doing double duty as a space heater).


docker for osx uses a linux VM behind the scenes (transparently)


Windows has direct docker support and has had it for a while. Not sure how great, not into containers myself ;)


Docker Desktop 2.1.x with WSL1 works amazingly well.

I've been running this set up for over a year and the volume performance is superb.

Flask, Phoenix, Rails and Webpack driven apps are all a fantastic experience. For example Webpack takes 150ms to compile SCSS / ES6 JS diffs for large real world projects. Web server reloads on code change are effectively instant and I get microsecond response times in some Phoenix apps in development.

This is on 6 year old hardware too and the source code isn't even sitting on an SSD (but Docker Desktop is installed on an SSD).

In all cases, everything is running in Docker through Docker Deskop and I use the Docker CLI / Docker Compose in WSL as a client to connect to Docker Desktop.

It's all documented at https://nickjanetakis.com/blog/setting-up-docker-for-windows....


Just like on Mac OS it runs in a VM.


soon it won't (at least, not on its own- in the wsl2 VM) https://www.docker.com/blog/new-docker-desktop-wsl2-backend/


It can make use of Hyper-V and Windows Containers.


Git for Windows with all the Unix tools it installs works great for me. It's nice for working with Docker, writing and running bash scripts etc.

I have WSL1 installed, but very seldom feel the need to actually use it.


Docker runs just fine on macOS. eg. https://download.docker.com/mac/stable/Docker.dmg


Docker runs in a VM on macOS, with significant penalties to filesystem speed. I haven't used it for a few years, but booting the large Rails app I work on was several times slower under Docker.


Windows has Windows Terminal and PowerShell, too. Apple and Linux also have PowerShell.


Presumably the draw is UNIX, not the Terminal app itself.


POSIX is probably the best way to put it. This would cover Unix, Gnu/Linux, Darwin, BSD... the whole family tree.


One of my main pain points in Windows is that the terminal app options are so crap compared to iterm2 or even the plain terminal app. The app itself is definitely a draw too


Were you thinking of the Console Window? If so, that's not a terminal in the UNIX sense.

These days, there's the Windows Terminal, which is fine, surely, https://www.microsoft.com/en-us/p/windows-terminal-preview/9...


None, as I stay away from them as far I can avoid them, Java and .NET are perfectly fine and IDEs have docker support in case I really need to deal with it.


Oh cool, we can just abandon all other languages and toolchains so we can switch to windows native. Why didn't I think of that?


Nah, you just target Windows with toolchains that support Windows natively, like I am expected to target UNIX with toolchains that support UNIX natively.

Your statement goes into both directions.

Guess why "Year of Linux Desktop" has failed to happen, and no, ChromeOS and Android aren't really GNU/Linux, the kernel is irrelevant to userspace languages and public APIs.


Personally, as a node developer (and occasional contributor), Windows Terminal and pwsh.

Not sure why you'd use or mention 'MS-DOS' since that stopped being a thing about 20 years ago, a decade before node existed.


well, I definitely wouldn't use MS-DOS, because it doesn't support node or docker, but also because it's been obsolete since before Terminal.app existed.


There is so much confusion and technical inaccuracies in this little post it’s hard to know where to start...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: