What is Docker?
We tend to think that Docker is a complex application intended for professionals, but it is precisely the opposite and can be used to provide services on Windows with very low resource consumption. Services that require applications that generate more resource consumption natively and that normally have expensive commercial licenses.
Docker only needs an execution base, which can be WSL2 from Windows 11 or also the hypervisor engine that Windows has integrated for a long time. Today we will show you the two options that Windows offers us to work with Docker and how to manage it, in other guides. We take advantage of this functionality to give Windows new capabilities that have ended up losing meaning with native applications.
Each Docker container can have very specific functionalities or add many of them to provide a global solution such as email servers, firewalls, file servers, web and application servers, there are no limits. The only limit can be found in our hardware capacity, although the consumption of this type of containers is normally very controlled, and above all in the number of cores and memory that we can give precisely to Docker. In modern processors, with six or more cores, we will not know that we have these background processes.
Today we are preparing to show you in this other guide how to set up a complete DNS server that not only allows us faster access to the Internet, with less latencies, but also complete parental and advertising control with a web and content management interface. very easy use.
- This method requires us to install the Linux subsystem on Windows, which is compatible with Windows 10 and Windows 11, Windows 10 in the latest versions and Windows 11 natively. Installing it is really simple, we need a Powershell session in administrator mode and execute the command: wsl –install
- The process is completely automatic, installs the Ubuntu subsystem, we have access to others through the Windows application store, and requires a restart, after restarting the system it starts automatically requiring a first user configuration and Password for management of the subsystem. My recommendation is not to use our same Windows user, but rather a specific one for this task. It is good at a security level that we always manage different passwords for each service. We can also use our favorite password manager to generate very secure passwords.
- Now we just have to download the latest release of Docker Desktop for Windows, which we can find at this other link: https://docs.docker.com/desktop/release-notes/. Once downloaded, we run to install like any other Windows application. Remember that it has to be the “release” for Windows, on that page we find multisystem executables, which include versions for Windows, Arch, Debian and versions for MacOS for both Intel and Apple M processors.
- The installer is really easy to use, it only asks us if we want to use WSL2 instead of Hyper-V, as a recommendation, then we will see the other option, and if we want a direct link on the desktop, which is something very normal.
- We let it do its job, it takes a few minutes on a modern computer, we have used a powerful AMD Ryzen 9 7900, with 32GB of RAM and a PCI Express 4.0 SSD with 2TB capacity. A machine where this type of containers will go completely unnoticed in the general performance of the machine.
Containers, by their very definition, are lightweight virtual machines that allow us to take better advantage of hardware and also isolate services, making systems more reliable and secure.
To install Docker on Windows, if we prefer the integrated hypervisor option in Windows, it is very similar, but has different requirements. The Windows hypervisor, called Hyper-V, is a hardware virtualization engine integrated into Windows and which is also transversal because we can find it in both the server versions of Windows and also in the home versions, although in this case it is only Available in the professional version of Windows.
Windows Hyper-V is a stripped-down version that allows developers and administrators to introduce virtual machines based on Light Hardware Access Layer technology for virtual machines.. The professional versions of this technology, which we can even use in instances of Microsoft's Azure cloud, allow the management and monitoring of virtual machines centrally.
In the case of Docker, it will serve as a virtual machine where we can run the containers. It is not the most recommended way by the developer because it adds resource consumption, but it is certainly minimal. We will not have a real impact on machines like the ones we have used for this guide. .
Hyper-V is a free and very interesting technology, Surely we can dedicate some guides so that you know the power of this Microsoft virtualization platform, which has nothing to envy of more widespread applications on the market, some paid such as VMWare Workstation, perhaps the most recognized by Windows users. The only downside is that it requires an “Enterprise” or “Pro” version of Windows 10 or Windows 11.
- To install Hyper-V we have to add it to Windows features. To do this, we go to control panel, programs, programs and features and activate or deactivate Windows features.
- Once this context menu is open where we see all the Windows functions that are optional, some already installed, we just have to go to the Hyper-V section and directly select this option. Maybe we need the Windows ISO, usually not.
- Once Hyper-V is installed we will have to restart, the next step will be to download Docker Desktop for Windows, and start the installation. In the installer we remove the option to use WSL2 instead of Hyper-V and continue. We wait for the installation to finish, which takes a few minutes, and we restart.
- When restarting we just have to log in to the application and use it. In this guide we will not delve much into the advanced options, but we will give you some keys to use that are very simple, to start enjoying this unlimited world of containers. A world where we also have to be careful because not only are there container images of dubious origin but they may also be obsolete using outdated components that put our computer security at risk, it is good to take a look at the vulnerability analysis that Docker itself does when download a new image, from which we then run the container.
Next steps after installation
- Once finished, it asks us to restart, it is the second time we have to, but it will be the last, promised. Once restarting we will have to log in with our Docker account, it is an essential requirement to register, but there is no cost for a home user and we can also use GitHub or Google SSO for greater convenience.
- The next step is to fill out a welcome survey where the developer collects general data, never personalized, about the use that we are going to give to the application. You can answer what you think is most appropriate in the only two questions that are asked. At the end of this process, the application starts the Docker runtime, if there is a problem we will have to check the installation of WSL or Hyper-V. Be careful if we run it on virtualized machines, because we will have two hardware abstraction layers and nested virtualization will have to be enabled.
- The interface is really simple, but it offers very interesting information such as RAM consumption or CPU usage, this is important so that we can manage resources properly or also to see that the applications run properly. I must say that since our last guide, years ago, on Docker for Windows, the interface has gained a lot, now it is a real joy, it has its own learning tutorials and is even very nice and manageable.
Install a container
- To install a container we can use the search engine integrated into the interface, it is that simple, we search for the application or functionality and select the one we want, we can do a “pull” which is to bring the container locally and then work with it, or directly execute it using the run button.
I'm not going to deceive you,Some containers have complex functionalities that you have to know how to configure properly.some also need access to storage volumes to function, each case is different, but we can also find countless containers that are very easy to use.
They allow us to have the functionalities that we do not find in native applications for Windows, or that are obsolete, or that are also commercial, being able to opt, in this way, for open source versions that are completely free for the use that we are going to give (be careful, not everything based on linux or containers is free).
For us it is a base where we can expand the capabilities of Windows and be able to give ourselves advanced functionalities with which to take advantage of the hardware and manage our own services, such as having our own DNS server with lower latency and a completely configured configuration. personalized with parental control included.
End of Article. Tell us something in the Comments!