- @nabedge please use the đł menu ď¸ `Diagnose and feedback' to upload a diagnostic log ball and add the output here. @LevonBecker, please do the same but create a fresh issue, although your symptoms seem similar the underlying cause could be different and it is far easier to de-dup issues than it is to split a single issue into two.
- Sysctl -w kernel.grsecurity.chrootdenychmod=0 sysctl -w kernel.grsecurity.chrootdenymknod=0 For more information, have a look at the corresponding Github issue. Anyway, this weakening of security is not necessary to do with Alpine 3.4.x and Docker 1.12 as of August 2016 anymore.
- Docker for Linux - It allows one to run Docker containers on the Linux OS. Docker for Windows - It allows one to run Docker containers on the Windows OS. Docker Engine â It is used for building Docker images and creating Docker containers. Docker Hub â This is the registry which is used to host various Docker images.
If you're running macOS or Windows you have a few options for installing Docker. There's even a third way too, and we'll compare them here.
The fastest and easiest way to get started with Docker on Windows.
Quick Jump: OS and Hardware Requirements|Pros and Cons|Which One Should I Use?
If youâre on macOS or Windows you can install Docker with:
- Docker for Mac / Windows (now known as Docker Desktop)
- Docker Toolbox
- Running your own Virtual Machine and installing Docker yourself
All 3 of those options have their own pros and cons and in this article weâre going to cover them. If youâre looking for a high level overview of what Docker for Mac / Windows and Docker Toolbox is, then check out this article on getting to know Dockerâs ecosystem.
OS and Hardware Requirements
Itâs helpful to know what you can install before we compare everything, so letâs do that:
Docker for Mac (Docker Desktop)
Docker for Mac requires that youâre running Mojave 10.14+ or newer with an Intel CPU. M1 support is on its way.
You can run VirtualBox 6+ alongside Docker Desktop. This is pretty useful because you might have some legacy apps running in Vagrant / VirtualBox to deal with (I know I do!).
Docker for Windows (Docker Desktop)
As of May 27th 2020, Microsoft released Windows 10 build 2004 (Spring 2020) that allows you to run Docker Deskop on all editions of Windows 10, including Home thanks to WSL 2.
As of August 2020, Microsoft enabled WSL 2 support for Windows 10 builds 1903 + 1909.
For years prior to that you could only run it on Windows Pro, Enterprise or any edition that had Hyper-V available, but since August 2020 pretty much all supported versions of Windows 10 can use Docker Desktop.
You can also run VirtualBox 6+ alongside Docker Desktop too in case you have older projects using VirtualBox (perhaps with Vagrant too).
Docker Toolbox
Prior to mid-2020 this was still a reasonable way to run Docker on machines that couldnât run Docker Desktop, but thatâs no longer the case.
Itâs now considered legacy and as of late 2020 itâs been officially deprecated.
Unless youâre using unsupported versions of Windows or have a really really ancient Mac you shouldnât need to ever use this tool.
But if youâre in a pinch and you absolutely must use it, technically itâs still available at https://github.com/docker/toolbox/releases, but itâs no longer maintained by Docker.
Your own Virtual Machine
Docker will happily run inside of VirtualBox, VMWare Workstation or any other Type 1 / 2 Hypervisor thatâs running a major distribution of Linux as a guest OS.
If for whatever reason you canât use Docker Desktop then this solution would be better than using Docker Toolbox since you can install supported versions of Docker and you have full control over the environment.
Pros and Cons
Now for the good stuff!
Docker for Mac / Docker for Windows (Docker Desktop)
Pros
Offers the most ânativeâ experience, you can easily use any terminal you you want since Docker is effectively running on
localhost
from macOS / Windowsâ POV.Docker is heavily developing and polishing this solution.
Cons
On certain macOS hardware combos the volume performance can be a little slow.
I can legit say there are not any âwow this sucks!â cons for Windows, itâs really solid.
Docker Toolbox
Pros
- Offers an âout of the boxâ Docker experience if you have no other choice.
Cons
Itâs deprecated by Docker and will receive no future maintenance.
You need to either use the Docker Quickstart Terminal, or configure your own terminal to connect to the Docker Daemon running a VM.
Not a native solution, so youâll need to access your Docker Machineâs IP address if youâre developing web apps. Example:
192.168.99.100
instead oflocalhost
.Unless you jump through hoops, your code needs to live in your Windows user directory such as
C:UsersNicksrcmyapp
. Otherwise Docker wonât be able to find it.Suffers from typical VirtualBox edge case bugs and mount performance issues.
Your own Virtual Machine
Iâm not going to bother listing a pros and cons here because I wouldnât recommend doing this UNLESS youâre stuck on Windows 7 / 8 or an older version of Windows 10 like 1809.
But more on that in a bit.
Which One Should I Use?
If youâre interested in Docker, youâre a smart person and you probably came to the conclusion that using Docker for Mac or Docker for Windows is a good idea as long as you can run it.
Docker Toolbox Daemon
My recommendation would be to try Docker for Mac / Windows first, and test it against your actual use cases. The performance issues may or may not be a concern, especially since everyoneâs needs and computer specs are different.
Iâve been using Docker Desktop on Windows for full time development since late 2018 and itâs been nothing short of fantastic. Currently I use it with WSL 2, but it was really good with WSL 1 along with Hyper-V too.
Stuck on an Old Version of Windows and Like Linux?
Docker 64 bit. I want to mention a âroll your own VMâ solution for Windows users because I feel like thereâs an even better way to run Docker on Windows if you also like Linux and are stuck not being able to use modern versions of Windows 10.
It involves running VMWare Player in a special mode called âUnity modeâ. This basically allows you to run Windows and Linux together seamlessly as 1 operating system.
Thereâs no dual booting and Linux applications (even graphical apps) run in their own floating windows. Then you can install Docker natively on Linux inside of the VM.
The performance is excellent and the entire set up is free too.
I used this set up for about 5 years until Docker Desktop was available. It gives you the best of both worlds. For example, I run high end audio / video apps on Windows while recording courses and screencasts that cover Linux content. It all works great (even for full time development).
You can watch a video guide and see screenshots on how to do that in this post on creating an awesome Linux development environment in Windows.
Docker Toolbox Expose Daemon
Are you using the Docker Toolbox, Docker for Mac / Windows or your own VM?