Что такое Docker Desktop
Docker Desktop — это инструмент для работы с Docker-контейнерами на локальной машине. Он упрощает процесс разработки, тестирования и развертывания приложений, позволяя взаимодействовать с контейнерами как через консоль, так и через удобный интерфейс.
Ключевые особенности:
- понятный графический интерфейс,
- удобное управление образами и контейнерами,
- встроенные инструменты для мониторинга,
- возможность разработки и тестирования без привязки к серверу,
- поддержка работы с Docker Compose.
Если вы только начинаете изучение Docker и хотите разобраться в основах, рекомендуем ознакомиться с отдельным вводным обзором. В нем разобрали принципы работы Docker, его основные компоненты и решаемые задач. Из текста вы узнаете, как создать и запустить контейнер, а также какую роль играет Kubernetes в связке c Docker.
О системных требованиях
Перед установкой Docker Desktop важно выбрать подходящий бэкенд для работы с контейнерами: WSL 2 или Hyper-V. Оба имеют свои особенности, так что от выбора будут зависеть и системные требования. Далее в тексте разберемся, когда и какой бэкенд подойдет лучше.
Когда нужен WSL
WSL 2 (Windows Subsystem for Linux 2) — это усовершенствованная версия подсистемы Windows для Linux, которая использует виртуальную машину с реальным Linux-ядром. В отличие от первой версии, WSL 2 обеспечивает лучшую совместимость с Linux-инструментами, технологиями и приложениями, а также более высокую производительность.
Преимущества использования WSL 2 с Docker Desktop
Работа с Linux-контейнерами. Docker изначально разрабатывали для работы в Linux-среде, поэтому большинство контейнеров в Docker Hub — это образы, ориентированные на Linux. Использование WSL 2 предоставляет Docker Desktop полноценную Linux-среду на Windows.
Повышенная производительность. WSL 2 значительно ускоряет выполнение контейнеров, что особенно заметно в сравнении с WSL 1 или Hyper-V, о котором мы расскажем дальше. Это преимущество обеспечивает полноценное Linux-ядро, которое позволяет Docker работать гораздо быстрее и с меньшими накладными расходами.
Работа с файловой системой Linux. В WSL 2 можно монтировать файловую систему Linux, что позволяет работать с кодом и данными в нативной Linux-среде. Это особенно важно при разработке приложений, которые будут запускаться в Linux-контейнерах и требуют специфической настройки среды — например, прав доступа или структуры каталогов.
Когда нужен Hyper-V
Рассмотрим ключевые сценарии, в которых предпочтительнее использовать Hyper-V.
Если система не поддерживает WSL 2
Некоторые сборки системы не позволяют включать необходимые компонентов для работы WSL 2 В частности, это касается старых версий Windows, а также устройств, которые не поддерживают Windows 10 Pro или 11 Pro, — WSL 2 для них недоступна, так как требует включенной виртуализации на уровне системы. В таких случаях можно использовать Hyper-V для виртуализации контейнеров и запуска Docker Desktop.
Для работы с Windows-контейнерами
Docker Desktop поддерживает как Linux-, так и Windows-контейнеры. Однако последние требуют прямого взаимодействия с ядром Windows, а WSL 2 предоставляет только Linux-среду. Hyper-V позволяет запускать Windows-контейнеры благодаря виртуализации Windows-системы.
Для изоляции и обеспечения безопасности
Hyper-V создает полноценные виртуальные машины, обеспечивая строгую изоляцию контейнеров друг от друга и от хост-системы. Это может быть важно в корпоративной среде или при работе с чувствительными данными.
Разница между WSL 2 и Hyper-V
Если вам нужны Linux-контейнеры и высокая производительность — выбирайте WSL 2. Если же требуется строгая изоляция или работа с Windows-контейнерами, Hyper-V будет предпочтительнее. Подробнее о разнице по ключевым критериям — в таблице:
Критерий | WSL 2 | Hyper-V |
Производительность | Высокая (нативное Linux-ядро) | Низкая (работа через полноценную ВМ) |
Изоляция | Относительно низкая | Высокая (контейнеры изолированы) |
Типы контейнеров | Только Linux-контейнеры | Linux- и Windows-контейнеры |
Системные требования Docker Desktop
При использовании WSL 2 в качестве бэкенда
- WSL версии 1.1.3.0 или новее.
- Windows 11 64-bit Home / Pro / Enterprise / Education, версия 22H2 или новее.
- Windows 10 64-bit Home / Pro / Enterprise / Education, версия 22H2 (сборка 19045) или новее.
- Включенная функция WSL 2 в Windows. Подробная инструкция есть в документации Microsoft;
- 4 ГБ ОЗУ.
- Включенная аппаратная виртуализация в BIOS на вашей локальной машине.
При использовании Hyper-V в качестве бэкенда
- Windows 11 64-разрядная Enterprise / Pro / Education, версия 22H2 или новее.
- Windows 10 64-разрядная Enterprise / Pro / Education, версия 22H2 (сборка 19045) или новее.
- Включенная функция Hyper-V. Подробнее об установке — в документации Microsoft;
- 4 ГБ ОЗУ.
- Включенная аппаратная виртуализация в BIOS на вашей локальной машине.
Установка WSL 2
1. Откройте PowerShell от имени администратора и введите команду wsl —install. Она выполняет следующие действия:
- включает дополнительные компоненты WSL и платформы виртуальных машин;
- скачивает и устанавливает последнюю версию ядра Linux;
- задает WSL 2 в качестве среды по умолчанию;
- скачивает и устанавливает дистрибутив Ubuntu Linux.
2. После успешной установки всех компонентов перезапустите компьютер.
Первичная настройка
1. Откройте установленный дистрибутив с помощью меню Пуск — найдите установленный дистрибутив (Ubuntu).
2. При первом запуске системы нужно создать имя пользователя и пароль для дистрибутива Linux.
3. Первичная настройка завершена, можно приступать к использованию WSL 2.
Альтернативный вариант — запустить WSL через PowerShell. Для этого введите команду wsl и система предложит произвести первичную настройку.
Установка Hyper-V
Для установки компонентов Hyper-V откройте PowerShell от имени администратора и выполните команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Она установит все компоненты для работы Hyper-V, после чего нужно будет перезапустить компьютер.
Проверить корректность установки Hyper-V можно с помощью команды:
Get-WindowsOptionalFeature -Online -FeatureName *hyper*|ft
Установка Docker с бэкендом WSL 2
- Скачайте дистрибутив Docker Desktop с официального сайта и запустите установщик. Галочки оставьте на всех пунктах.
- После установки перезайдите в учетную запись и откройте ярлык Docker Desktop.
- Если все прошло успешно, вы увидите интерфейс инструмента:
Установка Docker с бэкендом Hyper-V
1. Скачайте дистрибутив Docker Desktop с официального сайта и запустите установщик. В инсталляционном окне уберите галочку Use WSL 2 instead of Hyper-V.
2. После установки перезайдите в учетную запись и откройте ярлык Docker Desktop.
3. Если установка выполнена корректно, программа запустится без ошибок и вы увидите интерфейс:
Запуск контейнера
Рассмотрим запуск первого контейнера на примере самого популярного образа — hello-world.
Поиск и скачивание образа
Поскольку вы только установили Docker Desktop, в системе нет образов контейнеров, которые можно запустить. Исправим это.
- Перейдите в раздел Images и нажмите кнопку Search images to run.
- Введите hello-world. В текущем окне на выбор есть две кнопки: Pull и Run. Если планируете для начала просто скачать образ, то выбирайте Pull. Если скачать и сразу запустить — Run.
- Оставляем стандартные настройки для запуска.
Проверка работы контейнера
Чтобы посмотреть запущенные контейнеры, перейдите во вкладку Containers и выберите созданный на прошлом этапе. В нашем примере для него было автоматически сгенерировано имя determined_jennings. Открыв контейнер, вы увидите сообщение, если настройка установка прошла успешно.
Как настроить запуск Docker при старте Windows
Для автозапуска Docker Desktop при авторизации на компьютере достаточно поставить галочку в настройках: Settings → General → Start Docker Desktop when you sign in to your computer.
После этого Docker Desktop будет запускаться автоматически при включении устройства.
Запуск Docker в облаке
Docker Desktop — удобный инструмент для локальной работы, но в ряде случаев может потребоваться облачная инфраструктура:
- если мощности вашего ПК не хватает для работы с контейнерами;
- если нужна среда для тестирования без нагрузки на локальную машину;
- если вы работаете с ML/AI и нужны видеокарты для обучения моделей.
1. В панели управления в верхнем меню перейдем в раздел Продукты → Облачные серверы.
2. Нажмем кнопку Создать сервер.
3. Выберем имя, регион и сегмент пула. Важно учесть, что от сегмента зависят доступные конфигурации и стоимость. После создания сервера менять сегмент пула нельзя.
4. В качестве источника выберите готовый образ, приложение, свой образ, сетевой диск или снапшот. В нашем случае — приложение Containers Ready с настроенной Ubuntu 22.04. Оно содержит:
- Docker версии 27.0.3;
- плагины для запуска Docker Compose версии 2.11.1;
- Portainer версии 2.20.3 — графический интерфейс для мониторинга и управления Docker-контейнерами, образами и сетью Docker.
5. Конфигурацию для примера возьмем базовую — 2 vCPU и 2 ГБ RAM, а в поле Диски выберем SSD Быстрый на 20 ГБ. Важно: это минимальные требования. Рекомендуем выбирать параметры серверы, исходя из ваших задач.
Помимо прочего, на этапе создания сервера или позже вы можете добавить GPU. При этом объем ОЗУ, который выделяется серверу, может быть меньше указанного в конфигурации — ядро ОС резервирует ее часть. Выделенный объем на сервере можно посмотреть с помощью команды sudo dmesg | grep Memory
.
6. Для работы Containers Ready сервер должен быть доступен из интернета. Для этого создадим приватную подсеть и подключим публичный IP-адрес. В поле Сеть выберем Приватная подсеть и добавим новый публичный адрес. Подробнее о настройке подсети можно узнать в документации.
6. Добавьте SSH-ключ в поле Доступ. Подробнее о его генерации можно узнать в отдельной инструкции.
7. Ознакомьтесь с ценой и нажмите кнопку Создать сервер.
Сервер готов к использованию! Подробности о создании сервера с Сontainers Ready вы можете найти в документации. Если вам нужно запускать контейнеры с ML-моделями на мощных видеокартах, развернуть облачные серверы с GPU можно за несколько минут. Они помогут ускорить обучение нейросетей без закупки дорогого оборудования.
Читайте другие тексты о Docker
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Before understanding the concept of Docker, let’s first discuss the concept of Hypervisors. So in an IT Company, or any cooperation, there is a development team, a testing team, and an operation team for developing the application, testing it, and deploying it. Now suppose the developers are working on a different OS, for example, let’s say macOS, and they used some dependencies or libraries as per the language they are using, so they just won’t hand the software to the testing team, but also the libraries, But now, the application didn’t run the tester’s machine, but it worked on the developer’s machine, maybe because the tester’s machine has different OS features than the developer’s one.
In this article, we will guide you through on firstly discussing what is docker, what are the requirements to docker for installing in Windows, why to install docker on windows, its implementation guide, best practices and troubleshooting issues and much more, The following is the table of content, helping you to give a overview what we going to cover in this article.
Table of Content
- What is Docker?
- Requirements of Windows For Downloading Docker
- Specifications for Docker Desktop Installation
- Why to Install Docker on Windows?
- How to Install Docker Desktop on Windows? A Step-By-Step Guide
- How to Start Docker Desktop?
- How to Install Docker Desktop from the Command Line?
- How to Install Docker on Windows 10?
- How to Install Docker on Windows 11?
- How to Update the Docker in Windows?
- Advantages of Docker In Windows
- How to Uninstall the Docker Desktop Tool? A Step-By-Step Guide
- How to Install and Enable WSL 2 on Windows
- How to Install Docker With WSL 2 Backend on Windows?
- How to Install Docker on Windows Without Docker Desktop? A Step-By-Step Guide
- What’s the difference between Docker for Windows and Docker on Windows?
- Best practices of using Docker on Windows
- Common Troubleshooting Issues Related to Docker on Windows
But the problem here is, for every application, one needs a different OS, this will result in a waste of resources as multiple OSs will be running. So for this problem, we have the concept of Containers, the difference between Hypervisors and containers is that we don’t need multiple OS for every application, multiple applications can share the same OS kernel, can’t they? So instead of installing HYPERVISOR, we will be installing Docker.
What is Docker?
Docker is an open-source container platform software tool, where you run your applications in the form of containers. Docker containers comes with light weighted softwares having all the dependencies and configurations so we can run them across different computing environments. It facilitates the developers to package their application with all its dependencies into a single entity in the form of images. These can be portable easily or sharable with other developers without worrying about the underlying OS.
Requirements of Windows For Downloading Docker
The following are the requirements of Windows on Docker:
- Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2.
- Windows 10 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2.
- 4GB RAM or Higher.
- Hyper V feature must be enabled in Windows.
Specifications for Docker Desktop Installation
The following are specifications for installing Docker on windows:
- RAM: The minimal amount of Memory needed to run containers smoothly is 4GB, however, if a program has more complicated functions, it will need more than 6 GB RAM.
- Storage: For running the containers and installation of docker the minimum space required is 25GB. If you want to store the container images and data then we need at least more than 35 GB to 40 GB.
- Network: To download, push, and pull the images we need active internet then only we can maintain the container images with the help of docker.
- CPU: At least a 64-bit processor is required for docker.
Docker can be run on a laptop with 4 GB of Memory, a 64-bit processor, and 25 GB of storage. It might change based on our use cases.
Why to Install Docker on Windows?
The following are the some of the reasons and insights specifying the needs and uses of installing the docker on windows:
- Consistent Environments: It ensure the applications to run smoothly across different systems without any compatibility issues.
- Resource Efficiency: It uses less resources compared to virtual machines, which facilitates with allowing for faster startups and better resource utilization.
- Enhanced Collaboration: It facilitates with easy sharing and replication of development setups among teams.
- Seamless Integration: It facilitates to work well with existing Windows development tools and workflows
How to Install Docker Desktop on Windows? A Step-By-Step Guide
The following are the steps to guide for installing the Docker Desktop on Windows:
Step 1: Download Docker Desktop
- Open your preferred web browser (e.g., Chrome).
- Then search in the browser by typing s “Docker download” and press Enter.
- Click on the first link that appears in the search results.
Step 2: Select Software Respective to your OS
- On the Docker download page, select “Windows” as your operating system.
Step 3: Start the Download
- The download will begin automatically. The duration will depend on your internet speed.
How to Start Docker Desktop?
Step 4: After installation, open Docker Desktop.
- Accept the Docker Subscription Service Agreement window and click “Continue.”
- Docker Desktop will start after accepting the terms and conditions.
Step 5: After clicking “OK,” the installation will start.
Step 6: After installation completes, it will show a confirmation screen.
Step 7: Restart your PC to install WSL 2 (Windows Subsystem for Linux), a compatibility layer for running Linux binary executables natively on Windows 10.
Step 8: After restarting, a dialog box will appear. Click the “Stop Docker” button.
Step 9: Enable Hyper-V
- Restart your PC and enter the BIOS setup:
- Navigate to Settings > Update and Security > Recovery > Advanced Setup > Device Configuration.
- Ensure the “Enable Turbo Boost on DC” option is marked. Save and exit.
Step 10: Activate Hyper-V
- Go to Control Panel > Turn Windows Features on or off.
- Check “Hyper-V” and “Windows Hypervisor Platform.”
How to Install Docker Desktop from the Command Line?
To install Docker Desktop, follow these procedures:
Step 1: Run the following command in the Command Prompt:
start /w "" "Docker Desktop Installer.exe" install
Step 2: Add the user account to the Docker user group:
net localgroup docker-users <users>/add
Step 3: Verify Docker Installation and Versions
- Open the Command Prompt.
- Run the following command to check the Docker version:
docker --version
- Upon starting Docker for the first time, you will receive a Beta invitation email.
How to Install Docker on Windows 10?
You must perform the following steps in order to install Docker on Windows 10:
Step 1: Ensure Compatibility
- Verify that your system meets the minimum requirement for Docker: 64-bit Windows 10 Pro.
Step 2: Download Docker
- Download Docker Desktop from the official website.
Step 3: Install Docker Desktop
- Complete the installation process.
- Open Docker Desktop from the Start menu.
- Enable Hyper-V and Windows Subsystem for Linux (WSL) features when prompted.
- Docker Desktop will automatically restart after enabling these features.
Step 4: Verify Installation:
- Open a command prompt or PowerShell window.
- Pull a sample image, such as Nginx, using the following command:
docker pull nginx
- If the image pulls successfully, Docker Desktop has been installed correctly.
How to Install Docker on Windows 11?
First, make sure that your Windows matches Docker’s requirement Docker requires 64-bit Windows 11 Pro, and the rest of all the steps are the same as Windows 10 as follows:
You must perform the following steps in order to install Docker on Windows 10:
Step 1: Ensure Compatibility
- Verify that your system meets the minimum requirement for Docker: 64-bit Windows 10 Pro.
Step 2: Download Docker
- Download Docker Desktop from the official website.
Step 3: Install Docker Desktop
- Complete the installation process.
- Open Docker Desktop from the Start menu.
- Enable Hyper-V and Windows Subsystem for Linux (WSL) features when prompted.
- Docker Desktop will automatically restart after enabling these features.
Step 4: Verify Installation
- Open a command prompt or PowerShell window.
- Pull a sample image, such as Nginx, using the following command:
docker pull nginx
- If the image pulls successfully, Docker Desktop has been installed correctly.
How to Update the Docker in Windows?
By following the steps mentioned below we can update our Docker:
Step 1: Open Docker Desktop from the Start menu
Step 2: Click on Settings and navigate to the “Resources” tab. Click on “Check for Updates.” Docker Desktop will check for any available updates.
Step 3: If an update is available, click “Download and Install.” Docker Desktop will automatically download and install the update. After completion, you can verify the Docker version by using the following command in Command Prompt or PowerShell:
docker version
Advantages of Docker In Windows
The following are the advantages of Docker in Windows:
- Docker for Windows allows developers to their applications easily on any Windows.
- Docker can be installed very easily on Windows.
- Docker containers can be moved in between Windows and Linux without changing the Source code.
- The application is isolated from the underlying OS which makes it more secure.
The following are the steps to uninstall the docker Desktop Tool:
Step 1: Find “Add or Remove Programs” in the start menu and choose it.
Step 2: Click Docker Desktop when you see Docker in the list of installed programs.
Step 3: Click on Uninstall in Docker Desktop and follow the on-screen instructions.
Step 4: After the uninstallation is complete, restart the computer.
How to Install and Enable WSL 2 on Windows
Before installing docker by using WSL 2 make sure your Windows is supported for that and then install and enable WSL2 on your laptop.
Step 1: Enter the following command as an administrator to enable the Windows Subsystem for Linux feature.
dism.exe /online /enable-feature /featurename
:Microsoft-Windows-Subsystem-Linux /all /norestart
Step 2: In this step, you need to enable the virtual machine platform feature to enable it to run the following command in Powershell as an administrator
dism.exe /online /enable-feature /featurename
:VirtualMachinePlatform /all /norestart
Step 3: After running the above command you need to restart your computer by this the virtual machine platform feature will be enabled.
Step 4: Download and install the WSL 2 Linux kernel updated package from the official website of Microsoft
Step 5: Make WSL 2 the standard version. Run the following command when logged in as an administrator in Windows PowerShell. Install a Linux distribution by using the Microsoft Store. You can pick from a variety of Linux distributions, including Kali Linux, Debian, and Ubuntu.
wsl --set-default-version 2
- After completing the above steps we can use execute Linux commands on your Windows using WSL 2.
How to Install Docker With WSL 2 Backend on Windows?
Utilizing dynamic memory allocation will help the WSL 2 backend consume resources more efficiently. which enables us to launch Docker very quickly and improve Docker’s speed. To make this happen please follow the steps mentioned below.
Step 1: Install and enable WSL 2 on Windows by following the steps outlined in the previous answers. And install Docker Desktop as mentioned above for Windows.
Step 2: Once the Docker Desktop installation is completed open the settings in Docker Desktop click on the resources tab and click on WSL 2 integration. Click “Apply & Restart” to apply the changes.
Step 3: Open a terminal in your WSL 2 distribution and use the following command to confirm that Docker is operational after Docker Desktop has restarted.
docker pull ubuntu
- If the image is successfully retrieved, WSL 2 has likely been deployed as a backend for Docker. The WSL 2 backend now allows you to use Docker to construct and manage containers on your Windows computer.
Note: The Docker CLI interacts with the Docker daemon running in the Windows Docker Desktop application when you issue Docker commands in your WSL 2 terminal.
How to Install Docker on Windows Without Docker Desktop? A Step-By-Step Guide
The following are the steps that guide you in installing the Docker on Windows without Docker Desktop:
Step 1: Enable WSL 2
- Open the power shell as administrator and run the following command:
wsl --install
Step 2: Install a Linux Distribution
- Download and install a Linux distributions from the Microsoft Store (e.g., Ubuntu)
Step 3: Set a WSL 2 as Default
- Open the PowerShell and set WSL 3 as the default version
wsl --set-default-version 2
Step 4: Install Docker Engine on WSL 2
- Open your linux distribution and update the packages list:
sudo apt update
- Install the docker using the a shell script as per defining, It looks as follows:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Step 5: Start Docker Service
- Start the docker service with the following command:
sudo service docker start
Step 6: Verify Installation
- Using the following command check the docker version for verifying the installation.
docker --version
Step 7: Run Docker Commands from Windows
- Install `wsl` command line tool to run the docker commands from the windows command prompt or PowerShell:
wsl docker run hello-world
What’s the difference between Docker for Windows and Docker on Windows?
The following are the difference between docker for windows and docker on windows:
Aspect | Docker for Windows | Docker on Windows |
---|---|---|
Environment | It will run Docker containers using a lightweight VM (Hyper-V/WSL 2). | It will run the Docker containers natively on Windows Server. |
Compatibility | It is suitable for development and testing on Windows 10/11. | It is suitable for production environments on Windows Server. |
Performance | It used as a VM, which might have slight overhead compared to native. | It runs natively with offering better performance and integration. |
Best practices of using Docker on Windows
The following are the some of the best practices of using Docker on Windows:
- Use WSL2 Feature: Try to utilize the features of Windows Subsystem for Linux 2 (WSL2) for experiencing better performance and having compatibility to the applications.
- Optimize Docker Resources: Make adjustments to your resources such as CPU, memory, and disk settings in Docker Desktop for balancing performance and resource usage.
- Keep Docker Updated: Try to update the Docker Desktop software regularly, so that your containers can be ensured with security while acessing the new features.
- Utilize Docker Compose: Make use of Docker Compose for managing multi-container applications efficiently.
The following are the some of the common troubleshooting issues related to docker on windows:
- Hyper-V or WSL2 Not Enabled: Make sure the Hyper-V or WSL2 is enabled in Windows features section for successful installation and work properly with docker.
- Docker Desktop Won’t Start: Try to restart the Docker Desktop or check for updates to resolve startup issues.
- Network Connectivity Problems: Ensure to configure the network settings or to reset Docker to fix connectivity issues.
- Insufficient Disk Space: Try to free up the space or increase disk allocation for Docker.
Conclusion
In this article, we covered a step-by-step procedure to install docker in Windows 11 and Windows 10. We also covered how to install docker in Windows 10 and 11 with the help of the Command line. Refer to Install in Mac and Ubuntu to know more about installation in different Operating Systems.
If you’re new to containers and Docker and work primarily on Windows, you’re in for a treat. In this article, you’re going to learn how to set up Docker on Windows 10 using Docker Desktop for Windows or simply referred to as Docker Desktop in this article.
Not a reader? Watch this related video tutorial!
Not seeing the video? Make sure your ad blocker is disabled.
Docker Desktop is the Docker Engine and a management client packaged together for easy use in Windows 10. In this article, you will install Docker Desktop, deploy your first container, and share data between your host and your containers.
Prerequisites for Docker on Windows
This is a walkthrough article demonstrating various steps in Docker Desktop for Docker on Windows. To follow along, be sure you have a few specific requirements in place first.
- An Internet connection to download 800MB+ of data
- Windows 10 64-bit running Pro, Enterprise, or Education edition with release 1703 or newer. This is necessary to run Hyper-V on Windows 10.
- A CPU with SLAT (nested paging) compatibility. All AMD/Intel processors since approximately 2008 are SLAT compatible
- At least 4GB of RAM
- BIOS hardware virtualization sometimes labeled as Virtualization Technology or VTx. This must be enabled and show as Enabled in the performance tab of Task Manager as shown below.
Downloading and Installing Docker Desktop
Up first, you need to download and install Docker Desktop to get Docker on Windows going. Docker Desktop comes available in two releases; a stable release and a testing release.
The stable release is released quarterly and ensures a fully-tested application. In this article, you will be using the stable release.
Warning: Upon installation, Docker Desktop will prompt you to install the Hyper-V hypervisor if not already installed. By doing so, the Hyper-V hypervisor prevents any user-mode hypervisors such as VirtualBox, VMWare, etc. from running guest VMs. Hyper-V support for VirtualBox and VMWare is limited but coming.
You also have the option of a download source through manually downloading Docker Desktop directly from Docker.com or via the Windows package manager, Chocolatey. Let’s briefly cover each method.
From Docker.com
To download Docker Desktop directly from docker.com, you can go to the product page, register for an account and download it from there. This is preferred if you intend to use Docker in production by registering an account.
However, if you’re just testing Docker out for the first time, you can also download it directly which is much easier.
Once the EXE is downloaded, run the executable and click through the prompts accepting all of the defaults.
When asked whether you plan to Use Windows containers instead of Linux containers, as shown below, do not enable the checkbox. You will be using Linux containers in this article.
Once installation is complete, reboot your computer.
Selecting the option to use Windows containers or Linux containers tells Docker to attach images to a Windows kernel or Linux kernel. You can change this setting at any time after installation by right-clicking the Docker icon in the System Tray and selecting Switch to Windows containers as shown below.
Using Chocolatey
The other option to get Docker Desktop downloaded and installed is with Chocolatey. Chocolatey automates many of the download/install tasks for you. To do so, open up a command-line console (either cmd or PowerShell) as an administrator to download and install the program in one shot by running the command below.
choco install docker-desktop
Once complete, reboot Windows 10.
If you’d like to try out the testing release at some point, you can download and install this by running
choco install docker-desktop --pre
.
Validating the Docker Desktop Installation
Once installed, Docker Desktop automatically runs as a service providing Docker on Windows. It’s shown in the system tray when you log in to Windows after you reboot. But how do you actually know it’s working?
To validate Docker Desktop is working correctly, open a command-line console and run the docker
command. If the installation went well, you will see a Docker command reference.
Finally, have Docker download and run an example container image called hello-world by running the command docker run hello-world
. If all is well, you will see output like below.
Running Commands in Docker Containers
Docker Desktop is installed and you’ve verified all is well? Now what? To get started with Docker on Windows, one common task to perform in a Docker container is running commands. Through the docker run
command, you can send commands through the host (your Windows 10 PC) directly into a running container.
To run commands in a container with docker run
, you’ll first specify an image name followed by the command. To get started, tell Docker to run the command hostname
inside of a container called alpine as seen below.
> docker run alpine hostname
b74ff46601af
Since you don’t have the alpine Docker image on your computer now, Docker on Windows will download the tiny image from the Docker Hub, bring up a container from that image, and send the command directly into the container and shut it down all in one swoop.
If you’d like to keep the container running, you can also use the -it
parameter. This parameter tells Docker to keep the container in “interactive mode” leaving it running in the foreground after executing the command. You’ll see that you are then presented with a terminal prompt ready to go.
> docker run -it alpine sh
/ #
When you’re done in the terminal, type exit
to return to Windows 10.
Accessing Files from the Docker Host in Containers
Another common task is accessing host files from containers. To access host files in containers, Docker on Windows allows you to link a folder path from your desktop to share that folder to your container. This process is called binding.
To create a binding, make a folder on a local drive. For this example, I’ll use E:\ and call it input. It’ll then create a new text document named file.txt in the folder. Feel free to use whatever path and file you wish.
Once you have the folder you’d like to share between the host and container, Docker needs to mount the folder using the --mount
parameter. The --mount
parameter requires three arguments; a mount type, a source host directory path and a target directory path. The target path will be a symbolic link within the container.
Below you will see an example of mounting the entire E:\ within the Windows 10 host to show up as the /home/TEST directory inside of the Linux container.
> docker run --mount type=bind,source="E:/",target=/home/TEST -it alpine
When you attempt to mount a host folder, Docker Desktop will ask for your permission to share this drive with the Docker containers as seen below.
If you created the file.txt file in the Windows 10 folder as described earlier, run cat /home/TEST/input/file.txt
. You will see that contents are displayed.
Now, delete the input folder that you just created and run the cat ...
command again. Observe that the shell now reports that the file does not exist anymore.
Mapping Network Ports
Another important concept to know is how Docker on Windows handles networking. For a brief introduction, let’s see what it takes to access a web service running in a container from the local host.
First, spin up a demo image that will run an example webpage. Download and run the Docker image called dockersamples/static-site. You’ll use docker container run
to do so.
The following command does four actions at once:
- Downloads a Docker image from Docker Hub called static-site in the docker-samples “directory”
- Starts a container instance up from the static-site image
- Immediately detaches the container from the terminal foreground (
—detach
) - Makes the running container’s network ports accessible to the Windows 10 host (
—publish-all
)
docker container run --detach --publish-all dockersamples/static-site
## Alternate/shorthand syntax that does the same thing:
## docker container run -d -P dockersamples/static-site
## docker run -d -P dockersamples/static-site
Once run, Docker will return the container ID that was brought up as shown below.
Publishing Network Ports
Since using the --publish-all
parameter, local host ports are now mapped to the container’s network stack. You can use the docker ps
subcommand to list all running containers including what ports are assigned to all of the running containers. In the instance below, one container is running mapping host port 32777 to container port 80 and host port 32776 to container port 443.
Docker on Windows assigns containers random ports when using the --publish-all
parameter unless explicitly define them.
Now open up a web browser and navigate to http://localhost:32777 or the port that Docker assigned to map to port 80 as output by docker ps
. If all goes well, you should see the below webpage show up.
Changing the Published Ports
You now have a Docker container running in Docker on Windows serving up a simple web page. Congratulations! But now you need to specify a specific port binding not relying on the random port selection with --publish-all
. No problem. Use the -p
parameter.
First, stop the running container by specifying a unique string of it’s container ID. You can find this container ID by running docker ps
. Once you know the container ID, stop the container and start a new one while designating Docker to assign a specific port to publish.
The syntax for specifying a port is <external port>:<container port>
. For each port that you want to publish, use the --publish
or -p
switch with the external and container port numbers as shown below.
> docker stop f766
> docker run --detach -p 1337:80 dockersamples/static-site
When you are specifying a container ID, you only have to type enough of the ID to be unique. If you are only running a single container and its ID is
f766f4ac8d66bf7
, you can identify the container using any number of characters including justf
. The requirement is that whatever you type allows it to uniquely identify a single container.
Now go to your web browser and navigate to localhost:1337
. Remember, you are not changing the image and it always listens on port 80; you are changing the port translation rule in the Docker configuration that lets you connect to the container.
Stopping all Containers
Using docker stop
, you can stop a container but how do you stop multiple containers at once? One way to do so is by providing multiple, space-delimited container IDs. You can see below an example of how to stop three containers with IDs of fd50b0a446e7
, 36ee57c3b7da
, and 7c45664906ff.
> docker stop fd50 36ee 7c45
If you’re managing Docker containers in PowerShell, you can also use a shortcut to stop all containers. Feed a list of container IDs via
docker ps -q
to the stop parameter through PowerShell’s command expansiondocker stop (docker ps -q)
.
Confirm all containers are stopped by seeing no containers listed when you type docker ps
.
Cleaning Up
You’ve downloaded a few container images and run some containers that are now stopped. Even though they’re stopped, their allocated storage isn’t gone off of the local host disk. You must delete the containers free up that space and avoid cluttering up your workspace.
To delete a single container, use the container remove rm
parameter like below.
> docker container rm <container ID>
Or, to delete all stopped containers, use the prune
parameter as below.
Docker is an open source technology that deals with container platforms. Docker container is a piece of software that contains a development platform to do the following.
Advantages of Docker
The following are some of the advantages of Docker.
- Lightweight
- Open
- Secure
Lightweight
It requires less memory because a container running on a single machine shares the same operating system and kernel. It uses the same file system and is more efficient.
Open
Docker is an open source platform and runs on all the platforms such as Linux, Windows, and Mac etc. and on top of any infrastructure.
Secure
Container separates applications from one another and the essential infrastructure, and it provides some additional security.
Virtual machine Vs Container
Image source — https://www.docker.com/what-docker
Container
A Container includes the applications and its dependencies but shares a common infrastructure, Host Operating systems, and Docker Engine on any cloud service.
Virtual Machine
Virtual machine includes the applications, libraries, binaries and shares common host operating systems.
Download Docker for windows
To download Docker software bundle, click here
Let’s get started.
Step 1. Install Docker on windows
Double click installdocker.msi and start the Docker installation. If you don’t have Docker, by clicking download Docker, you can download Docker.
Next, follow the installation wizard to install the Docker for Windows. Then, click «I accept license term» and start an installation process.
After sometime, it asks user to authorize Docker.app. Now click «Yes» to install Docker. It takes some time to validate and complete the installation.
Click finish button to complete the installation process.
Step 2. Start Docker
Start Docker on Windows manually or it will start automatically if installation completes successfully. You get a toast notification as Docker is running with a whale icon on it and you are able to access terminal. If you installed Docker for the first time, you also get a Docker tour or documentation, as shown below.
Now, you are running a Docker on Windows.
Step 3. Check versions of Docker Engine, Compose, and Machine
Start your Shell [cmd.exe] to check the version of Docker and docker-compose, and verify the installation
- docker –version
- docker-compose –version
- docker-machine –version
Step 4 Explore the application and run examples
Next, follow the steps to run sample application using docker.
Open a shell [cmd.exe]
Run the following commands, such as docker ps, docker version, and docker info.
- docker ps
- docker version
- docker info
The Output is given below.
Next, run the Docker run hello-world to start pulling image from repositories and starting a container.
- docker run hello-world
Try something different, and run an Ubuntu container in a Bash shell.
- docker run -it ubuntu bash
Type exit to stop the container and close the bash.
For the part, start a Docker web server with this command:
- docker run -d -p 80:80 —name webserver nginx
This will download the nginx container image from a repository and start it. Then, type the link http://localhost to display the start page. Here, the default port is 80. And the page given below displays the following.
Summary
In this article, we’ve learned the basics on setting up Docker on the Windows environment and learned how to create a simple hello world application using Docker web service.
References
- https://docs.docker.com/
- https://docs.docker.com/docker-for-windows/