Docker on Windows or Ubuntu for development?

github logo ・1 min read

Hello!

I am trying to decide which operating system to adopt to work with Docker.

I currently use Windows 10, and I know it's weird, but I like the system.
The problem is that I have the "Home" version and it does not allow me to use "Hyper-V".

Now I'm thinking about acquiring Windows 10 Pro (cheap for ebay), but I wonder if it would be worth it or better to do a dual boot and install Ubuntu.

My question is whether Docker works equally well in Windows or has some limitations (such as the linux subsystem in Win10).

I would like to read your experiences.

Update
In case anyone is interested, end up buying Windows 10 Pro. I will update this to tell if it was a good choice or not.

twitter logo DISCUSS (16)
markdown guide
 

I use docker-tools for Windows 8.1 (which you can use in Win10), and I HATE IT !

Reasons

  1. Much slower than t2.micro ubuntu instance on AWS.
  2. It uses VirtualBox (no native way).
  3. NPM runs there in an ugly way, symlink with VirtualBox again.
  4. More NPM issues especially when mounting.
  5. Mounting is really ugly, you need to do some hacking to get it working.

Personal recommendation

Use an online remote setup, sshing to your server and work there and enjoy the best of both worlds... ease of Windows & power of Linux.

 

I qm also Win 10 user.
Docker on windows have some issues:

  • it falls from time to time (need to restart) mounts are weird:
  • permissions are always something like 755 and it could mess inage building on linux, where you do not have tested it
  • for example you could not mount data folder in Postgress image, it do not go along

If you want to use Win, it can be managable, having Win 10Pro would help.
otherwise i would pick Debian or so, Docker experience will be better for sure.

 
 

I will recommend using Ubuntu or Linux for Dockers.
It's so much integrated, provides ease and automation easily.

 

Hi Shan,

Would Ubuntu in particular helping working with docker easier compared to other Linux distros?

 

Sorry, I have only used in Windows and Ubuntu that's why I can't compare Ubuntu with other Linux distro.
In my personal opinion, using good Linux distro would be more preferred for docker compared with Windows.

Ah, I should've been aware of the context of the post.

Thanks for the clarification there Shan 😃

 

It mainly depends what apps you would like to run. If you are installing more Linux based software in the containers, Linux is the better choice, whereas if you want to run Windows based apps, Windows is preferred. The reason being that even though the app is containerised the underlying dependencies might require some back and forth between the host and the container.

If you are just getting into Docker, Linux would be a better choice since more things will 'just work'.

I'd suggest the dual boot with Ubuntu option as it's easy to set up docker and has the bonus of being a great development environment to work in.

 

I will recommend using Docker on Linux as it runs natively on Linux OS. On the other hand, Docker runs on VM thru Hyper-V (Windows) and Hyperkit (MacOS). I used to develop with Docker in my Macbook air using Docker for Mac but i found that the macbook burns whenever i started running docker containers. At the end i switched to Arch Linux and it is much better.

Another alternative is to run a Virtualbox linux VM and run docker on it. It should have less discrepancy with the prod/uat hosting environments which are usually Linux.

 

Thanks for your replay. I just wanna ask, i use also docker on VirtualBox (Ubuntu) but my application (spring boot application with gradle) with the Dockerfile exists on windows. Do you have any idea how can we build an image of it. The problem when using the ./gradlew command to build the task is fuild as doesn't recognize docker command which is not exists on windows. Any ideas ??

 

i guess u may need to ssh into the ubuntu and execute the build command.

or create a .bat script on windows for the above action such that u could run it on windows directly.

 

I am active user of windows 10 and Docker,

Recently Docker for windows was release a new feature which allow you run linux containers on windows without needed of create the mobby virtual machine

With this feature you can run both types of containers (windows and linux), thing that you cant do on Docker for linux

This feature was what ended up convencing me

blogs.msdn.microsoft.com/premier_d...

 

Go to Linux Mint with Cinnamon, start with 800 MB of ram. It is a distro that you can install everything that would install with Ubuntu, besides everything is beautiful and light. Choosing Mint saves you about 500 MB of ram, the latest version of Ubuntu start using a lot of memory.

 

There's a minimal version of Ubuntu now. Without bloat like LibreOffice and such. But it uses Gnome which one has to like (I do :-D).

 

I can recommend taking a look at the bug tracker on the moby project. Take some time to checkout if there's anything which is a show stopper for you.

Classic DEV Post from May 19

Solving Puzzles With High-Performance JavaScript

Jacob Samuel G. profile image
{{ a terrible error has occurred in your connection and it is not possible to load this bio }}

dev.to now has dark mode.

Go to the "misc" section of your settings and select night theme ❤️