A Detailed Overview of Rancher's Architecture
This newly-updated, in-depth guidebook provides a detailed overview of the features and functionality of the new Rancher: an open-source enterprise Kubernetes platform.
You can run Docker containers on Windows as well as Linux. Although, inmany ways, Docker works similarly on these operating systems, there aresome differences. Below, I walk through the steps of installing andrunning Docker on Windows, and point out how they are similar to anddifferent from running Docker on Linux.
Installing Docker on Windows and Linux
Let’s start with installation. The Docker installation process isdifferent on both operating systems. To install Docker on Windows, justdownload the application and install it as you would any Windowsapplication. You get a user-friendly installation wizard: Toinstall Docker on Linux, in contrast, you can either grab the Dockerpackage from your distribution’s package manager (yum, dnf, or somethingsimilar), or install directly from Docker’s site with the command:
sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
Docker Under the Hood: Differences Between Windows and Linux
The Docker method of installation is just one difference between Windowsand Linux. When you install Docker on Linux, you install only the DockerEngine and management tools. You don’t need to create a virtual machineor virtual networks, because your containers will handle the setup foryou. Things are different on Windows. At the time of installation,Docker creates a Linux-based virtual machine called MobyLinuxVM, whichis based on Alpine Linux. The Dockerapplication connects to this machine, so that you can create yourcontainer with the necessary apparatus for operation. The Dockerinstallation also configures a subnet for the virtual machine tocommunicate with the local network and NAT for your containers to use inthe application. All of these steps occur behind the scenes and, as theuser, you don’t really have to worry about them. Still, the fact thatDocker on Windows runs a virtual machine in the background is anothermajor difference between Docker on Windows and Docker on Linux.
Docker Commands
Once you install Docker, the commands are the same on both Linux andWindows. You only have to learn one set of tools, no matter whichoperating system you run. The only difference between Windows and Linuxwhen running Docker commands is where you run them. On Linux, you canuse the terminal emulator of your choice. On Windows, use the PowerShellCLI. Below are examples of running Docker in PowerShell on Windows. Thefirst screenshot displays information about the system, while the secondshows some containers running on Windows.
Windows vs. Linux: Which is Better for Docker?
Personally, I find it easier to work with Docker from Linux than fromWindows. Even though there is no functional difference between Docker onWindows and Linux environments, the installation process on Linux is abit faster (an apt-get install is quicker than installing a Windowspackage), and the shell is easier to access on Linux. That said, this isjust my personal preference. From a technical standpoint, there is noreal difference between using Docker on Windows and Linux. You canachieve the same things with Docker on both platforms. I don’t think youcan say that either Windows or Linux is “better” for hosting Docker.
Conclusion
The fact that no operating system is better than another for Docker iswhat makes Docker so great. No matter where Docker runs (despite somedifferences in configuration and what goes on in the background), theDocker user experience is always the same. A docker run -d -p 80:80nginx command spins up an NGINX container, no matter which operatingsystem you are working from, which particular shell you’re using,whether your Docker environment runs in the cloud or on-premises, orwhether it’s sunny or rainy outside. This consistency is what makesDocker so reliable and pleasant to work with. It saves you from theconfiguration hell and environment unpredictability that are part andparcel of working with virtual machines and other older forms ofinfrastructure.
A Detailed Overview of Rancher's Architecture
This newly-updated, in-depth guidebook provides a detailed overview of the features and functionality of the new Rancher: an open-source enterprise Kubernetes platform.