11/10/2019 Docker For Windows Vs Mac
You can supposedly also run Linux images on Windows 'natively' via WSL now as well. I'm not sure there are any benefits to doing so, though. Where is this documented and is this available on Windows 18.09 stable channel? That would be a huge win if you can run the Docker daemon on WSL directly (without Docker for Windows).
Docker for Mac and Windows are the most popular way to configure a Docker dev environment and are used everyday by hundreds of thousands of developers to build, test and debug containerized apps. Docker for Mac.
![]()
Not just for volume mount performance, but it removes a lot of indirection. Edit: Did some digging around and found. Basically, while it runs, there's still a lot of issues and as of today Docker Compose will not work because WSL doesn't support iptables fully yet, which unfortunately means for every day usage, this isn't going to work. But it's great news because maybe in 6-12 months things will be ready for prime time. For every day web development, Docker for Windows has been working great for me. I've ran both native Linux and Windows for development and for most things, the performance isn't much worse than native Linux. Yes, volume mounts aren't as fast, but I'm not sure it matters for most things.
For example 10,000+ line Rails projects pick up file changes in less than 100ms and Webpack with half a dozen loaders will compile over 100kb+ of SCSS into CSS in about 3 seconds. My full 'Linux dev environment but on Windows (with Docker)' set up can be found at.
It mainly depends on using WSL and Docker for Windows. It may have improved since I have used it but performance is horrible with volumes with Docker Toolbox and Virtualbox, it's a little better with Windows 10 and Hyper-V. The same is the case on macOS as well, it's better than it was but Docker on Linux performance is going to be better. Specifically, I think it's when you incorporate volumes with files that are going to change often and are rather large. If you're on Windows 7 or cannot use Hyper-V in anything later and plan to use volumes, then you probably shouldn't use it.
![]()
Docker on Windows essentially is docker on Linux. Docker on Windows just spawns a Linux VM and runs docker inside of that. Docker for Windows: With LCOW, the Docker daemon runs as a Windows process (same as when running Docker Windows containers), and every time you start a Linux container Docker launches a minimal Hyper-V hypervisor running a VM with a Linux kernel, runc and the container processes running on top. And there is also such a thing as Therefore performance on Windows is way lower than on Linux I'm guessing a Linux container running on Linux will still outperform one running on Docker for Windows but not as much as before LCOW (I don't know how much real performance gain LCOW actually provides though). . But Docker itself is literally running on Windows, not Linux in a VM Which has what performance implications? Running on a vm is running on a vm.
The performance hit is still there. Who gives a shit how fast the Docker service can send commands.if it's still reprovisioning a damn vm. I think you're splitting hairs so that you're not wrong on The Internet™. We still see sometimes over a 50% performance hit when running the same containers on an 1803 Enterprise release compared to a new linux release. Sure, I’m splitting hairs - this is a technical field so being technically correct is important.
The person I was originally replying to was referring to virtual box docker on windows days and a lot has changed since then. Docker has been changing very quickly and a lot of the comments I see on this sub are based on outdated information so I thought I’d chime in. But what am I wrong about exactly? I stated a fact according to a primary source which I linked in. And I “guessed” that there may be some performance benefit but clearly stated that I didn’t actually know.
And I stated that I’m sure native Linux containers would still offer the best performance regardless. I’m more than happy to be wrong on the internet, to apologize and stand corrected. So, please tell me what I said that was incorrect.
I’m not sure, but it seems like D4W, especially at 18.03, doesn’t use LCOW by default, so you may not even be using it (for your 50% performance observation to be be relevant). From 18.03 CE release notes: “Experimental feature: LCOW containers can now be run next to Windows containers (on Windows RS3 build 16299 and later). Use -platform=linux in Windows container mode to run Linux Containers On Windows.
Note that LCOW is experimental, it requires daemon experimental option.” Also, from several comments here it sound like volume performance takes a huge hit running Linux containers on D4W, so that may be important depending on your application.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |