Setup docker on windows

Что такое Docker Desktop

Docker Desktop — это инструмент для работы с Docker-контейнерами на локальной машине. Он упрощает процесс разработки, тестирования и развертывания приложений, позволяя взаимодействовать с контейнерами как через консоль, так и через удобный интерфейс. 

Ключевые особенности:

  • понятный графический интерфейс,
  • удобное управление образами и контейнерами,
  • встроенные инструменты для мониторинга,
  • возможность разработки и тестирования без привязки к серверу,
  • поддержка работы с Docker Compose.

Если вы только начинаете изучение Docker и хотите разобраться в основах, рекомендуем ознакомиться с отдельным вводным обзором. В нем разобрали принципы работы Docker, его основные компоненты и решаемые задач. Из текста вы узнаете, как создать и запустить контейнер, а также какую роль играет Kubernetes в связке c Docker.

Скриншот интерфейса Docker Desktop.

Интерфейс Docker Desktop. Источник.

О системных требованиях

Перед установкой 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.
Скриншот PowerShell. Установка дистрибутива.

Ввод команды в PowerShell.

2. После успешной установки всех компонентов перезапустите компьютер.

Скриншот PowerShell. Установка компонентов.

Успешная установка компонентов.

Первичная настройка

1. Откройте установленный дистрибутив с помощью меню Пуск — найдите установленный дистрибутив (Ubuntu).

2. При первом запуске системы нужно создать имя пользователя и пароль для дистрибутива Linux.

Создание имени пользователи и пароля в консоли.

3. Первичная настройка завершена, можно приступать к использованию WSL 2.

Альтернативный вариант — запустить WSL через PowerShell. Для этого введите команду wsl и система предложит произвести первичную настройку.

Скриншот Powershell. Запуск WSL-2.

Запуск WSL через Powershell.

Установка Hyper-V

Для установки компонентов Hyper-V откройте PowerShell от имени администратора и выполните команду:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Она установит все компоненты для работы Hyper-V, после чего нужно будет перезапустить компьютер.

Установка компонентов в PowerShell.

Ввод команды в PowerShell.

Проверить корректность установки Hyper-V можно с помощью команды:

    Get-WindowsOptionalFeature -Online -FeatureName *hyper*|ft
Проверка установленных компонентов в PowerShell.

Проверка установленных компонентов.

Установка Docker с бэкендом WSL 2

  1. Скачайте дистрибутив Docker Desktop с официального сайта и запустите установщик. Галочки оставьте на всех пунктах.
Окно конфигурации в установщике.

  1. После установки перезайдите в учетную запись и откройте ярлык Docker Desktop
  2. Если все прошло успешно, вы увидите интерфейс инструмента:
Скриншот интерфейса Docker Desktop. 

Установка Docker с бэкендом Hyper-V

1. Скачайте дистрибутив Docker Desktop с официального сайта и запустите установщик. В инсталляционном окне уберите галочку Use WSL 2 instead of Hyper-V.

Окно конфигурации в установщике.

2. После установки перезайдите в учетную запись и откройте ярлык Docker Desktop

3. Если установка выполнена корректно, программа запустится без ошибок и вы увидите интерфейс:

Скриншот интерфейса Docker Desktop. 

Запуск контейнера

Рассмотрим запуск первого контейнера на примере самого популярного образа — hello-world. 

Поиск и скачивание образа

Поскольку вы только установили Docker Desktop, в системе нет образов контейнеров, которые можно запустить. Исправим это.

  1. Перейдите в раздел Images и нажмите кнопку Search images to run.
Скриншот раздела Images в Docker Desktop.

  1. Введите hello-world. В текущем окне на выбор есть две кнопки: Pull и Run. Если планируете для начала просто скачать образ, то выбирайте Pull. Если скачать и сразу запустить — Run.
Поиск образов контейнеров в Docker Desktop.

  1. Оставляем стандартные настройки для запуска.
Окно установки образа.

Проверка работы контейнера

Чтобы посмотреть запущенные контейнеры, перейдите во вкладку Containers и выберите созданный на прошлом этапе. В нашем примере для него было автоматически сгенерировано имя determined_jennings. Открыв контейнер, вы увидите сообщение, если настройка установка прошла успешно.

Просмотр созданного контейнера в Docker Desktop.

Как настроить запуск Docker при старте Windows

Для автозапуска Docker Desktop при авторизации на компьютере достаточно поставить галочку в настройках: Settings → General → Start Docker Desktop when you sign in to your computer.

Скриншот раздела «Настройки» в Windows.

После этого Docker Desktop будет запускаться автоматически при включении устройства.

Запуск Docker в облаке

Docker Desktop — удобный инструмент для локальной работы, но в ряде случаев может потребоваться облачная инфраструктура:

  • если мощности вашего ПК не хватает для работы с контейнерами;
  • если нужна среда для тестирования без нагрузки на локальную машину;
  • если вы работаете с ML/AI и нужны видеокарты для обучения моделей.

1. В панели управления в верхнем меню перейдем в раздел Продукты → Облачные серверы.

Выбор раздела «Облачные серверы» в панели управления Selectel.

2. Нажмем кнопку Создать сервер

Создание облачного сервера в панели управления Selectel.

3. Выберем имя, регион и сегмент пула. Важно учесть, что от сегмента зависят доступные конфигурации и стоимость. После создания сервера менять сегмент пула нельзя. 

Настройка имени, региона и пула в панели управления Selectel.

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

Конфигурирование дисков, RAM и vCPU в панели управления.

6. Для работы Containers Ready сервер должен быть доступен из интернета. Для этого создадим приватную подсеть и подключим публичный IP-адрес. В поле Сеть выберем Приватная подсеть и добавим новый публичный адрес. Подробнее о настройке подсети можно узнать в документации.

Настройка сети для облачного сервера в панели управления.

6. Добавьте SSH-ключ в поле Доступ. Подробнее о его генерации можно узнать в отдельной инструкции.

Добавление 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

Virtualization Architecture

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

Containerization Applications

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:

  1. Windows 11 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2.
  2. Windows 10 64-bit: Home or Pro version 21H2 or higher, or Enterprise or Education version 21H2.
  3. 4GB RAM or Higher.
  4. Hyper V feature must be enabled in Windows.

Specifications for Docker Desktop Installation

The following are specifications for installing Docker on windows:

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Search for Docker Desktop in google

Step 2: Select Software Respective to your OS

  • On the Docker download page, select “Windows” as your operating system.

Downloading Docker Desktop

Step 3: Start the Download

  • The download will begin automatically. The duration will depend on your internet speed.

Downloaded Docker Desktop

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.

Configuration of Docker Desktop

Step 5: After clicking “OK,” the installation will start.

Unpacking files

Step 6: After installation completes, it will show a confirmation screen.

Close and restart

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.

Install WSL2

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.

Enable Hyper V

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 

pulling ubuntu Image

  • 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

Running wsl command

Step 2: Install a Linux Distribution

  • Download and install a Linux distributions from the Microsoft Store (e.g., Ubuntu)

Installing the linux distribution

Step 3: Set a WSL 2 as Default

  • Open the PowerShell and set WSL 3 as the default version
wsl --set-default-version 2

setting WSL 2 as Default

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

Checking 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

Running Hell-world Image

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.

1,600 words, 8-minute read

Docker can be installed on Linux, mac OS, or Windows.

Requirements and installation instructions can be found on the Docker Docs help pages.

Docker Docs installation

Install Docker on Linux #

Docker Desktop for Linux can be downloaded from Docker Hub. The installer includes the Docker server, CLI, Docker Compose, Docker Swarm, and Kubernetes.

Alternatively, the Docker command-line tool is available in official Linux repositories although these are often older editions. The latest edition is supported on recent 64-bit editions of popular Linux distros:

  • Ubuntu (and derivatives such as Mint)
  • CentOS
  • Debian
  • Fedora

Static binaries are available for other distros, although Googling “install Docker on [your OS]” may provide easier instructions, e.g. “install Docker on a Raspberry Pi”.

Follow the Docker documentation for your distro. For example, Docker for Ubuntu is installed with the following commands:

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

To run Docker commands as a non-root user (without sudo), create and add yourself to a docker group:

sudo groupadd docker
sudo usermod -aG docker $USER

Then reboot to apply all changes.

Install Docker on macOS #

Docker Desktop for macOS Sierra 10.13 and above can be downloaded from Docker Hub. The package includes the Docker server, CLI, Docker Compose, Docker Swarm, and Kubernetes.

Docker Desktop for macOS

Two editions are available: stable and edge with experimental features. The stable version is best for most developers.

Double-click Docker.dmg to open the installer, then drag the Docker icon to the Applications folder. Double-click Docker.app in that folder to launch Docker.

After completion, the whale icon in the status bar indicates Docker is running and commands can be entered in the terminal.

Install Docker on Windows #

Docker Desktop for Windows requires either WSL2 or Hyper-V.

Windows Subsystem for Linux (WSL) 2 #

WSL allows you to run full Linux environments directly on Windows 10 or Windows 11.

IMPORTANT!
You can not install the Linux edition of Docker within a WSL-powered Linux distro. You must install Docker Desktop for Windows which allows Docker commands to be run in all Windows and Linux terminals.

WSL2 is the recommended default option for Docker on Windows. It is faster than Hyper-V and available in all editions of Windows 11 and Windows 10 from the May 2020 update (version 2004, OS build 19041).

To install WSL2:

  1. Enable hardware virtualization support in your BIOS.

    This will be active on most devices, but check by rebooting and accessing your PC’s BIOS panels – typically by hitting DEL, F2, or F10 as your system starts. Look for Virtualization Technology, VTx or similar options. Ensure they are enabled, save, and reboot.

    WARNING! Be careful when changing BIOS settings – one wrong move could trash your PC.

  2. Enable the Virtual Machine Platform and Windows Subsystem for Linux options in the Turn Windows features on or off panel:

    Enable WSL in Windows

    This can be accessed by hitting the Start button and typing the panel name or from Programs and Features in the classic Control Panel.

  3. Reboot, then enter the following command in a Windows Powershell or cmd prompt to set WSL2 as the default:

    wsl --set-default-version 2
  4. Download and install your preferred distro by searching for “Linux” in the Microsoft Store app. Ubuntu is a good choice.

    Windows Store

  5. To complete the installation, launch your distro by clicking its Store’s Launch button or choosing its icon from the Start menu.

    You may be prompted to install a kernel update – follow the instructions and launch the distro again.

  6. Enter a Linux username and password. These are separate from your Windows credentials although choosing the same ones can be practical.

  7. Ensure your distro is up-to-date. For example, on an Ubuntu bash prompt enter:

    sudo apt update && sudo apt upgrade

You can now install Docker Desktop (see below). For the best performance and stability, store development files in your Linux file system and run Docker from your Linux terminal.

More information about installing and using WSL2:

  • Windows Subsystem for Linux 2: The Complete Guide, and
  • optionally, Windows Terminal: The Complete Guide.

Hyper-V #

The Microsoft Hyper-V hypervisor is provided free with Windows 10 and 11 Professional and Enterprise. (Windows Home users must use WSL2.)

To install Hyper-V:

  1. Enable hardware virtualization support in your BIOS.

    This will be active on most devices, but check by rebooting and accessing your PC’s BIOS panels – typically by hitting DEL, F2, or F10 as your system starts. Look for Virtualization Technology, VTx or similar options. Ensure they are enabled, save, and reboot.

    WARNING! Be careful when changing BIOS settings – one wrong move could trash your PC.

  2. Enable the Hyper-V option in the Turn Windows features on or off panel then reboot.

    Enable Hyper-V in Windows

    This can be accessed by hitting the Start button and typing the panel name or from Programs and Features in the classic Control Panel.

You can now install Docker Desktop.

Install Docker Desktop for Windows #

Docker Desktop for Windows 10 and 11 can be downloaded from Docker Hub. The installer includes the Docker server, CLI, Docker Compose, Docker Swarm, and Kubernetes.

Two editions are available: stable and edge with experimental features. The stable version is best for most developers.

Double-click Docker Desktop Installer.exe to start the installation process. After completion and launch, the whale icon in the notification area of the task bar indicates Docker is running and ready to accept commands in the Windows Powershell/cmd terminal (and Linux if using WSL2).

Docker Engine Settings #

Docker uses WSL2 as the default engine when available. You will be prompted to confirm this choice during installation and after WSL2 is installed.

Alternatively, WSL2 can be enabled by checking Use the WSL 2 based engine in the General tab of Settings accessed from the Docker task bar icon. Unchecking the option reverts to Hyper-V.

Docker Windows engine

When using WSL2, at least one Linux distro must be enabled – the default is chosen. You can also permit Docker commands in other distros by accessing the WSL integration panel in the Resources section of the Docker Settings:

Docker Windows WSL2 selection

When using Hyper-V, Docker must be granted access to the Windows file system. Select the drives it is permitted to use by accessing the File Sharing panel in the Resources section of the Docker Settings:

Docker file sharing in Windows

(This option was named Shared Drives in previous editions of Docker Desktop.)

Test your Docker installation #

Check Docker has successfully installed by entering the following command in your terminal:

docker version

A response similar to the following is displayed:

Client: Docker Engine - Community
Version: 19.03.12
API version: 1.40
Go version: go1.13.10
Git commit: abcdef0
Built: Mon Jun 22 15:45:36 2020
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
...etc...

Ensure Docker Compose is working by entering:

docker-compose version

To receive something like:

docker-compose version 1.27.2, build 8d51620a
docker-py version: 4.3.1
CPython version: 3.7.7
OpenSSL version: OpenSSL 1.1.1c 10 Sep 2019

Optionally, try entering:

docker run hello-world

to verify Docker can pull an image from Docker Hub and start containers as expected…

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows your installation appears to be working correctly.

Key points #

What you’ve learned in this chapter:

  1. How to install and configure Docker on your Linux, macOS, or Windows system.
  2. How to install Docker Compose.
  3. How to test the Docker installation.

The following chapters demonstrate how to use Docker during development…

…but to continue reading, you need to buy the book.


Do you want an easy-to-follow course which demonstrates how to use Docker and create practical web development environments on your Windows, macOS, or Linux PC?

Buy the «Docker for Web Developers» book & video course…

  • full course

    $99 $50 £43  /  €49

    buy all

  • ebooks only

    $30 $15 £13  /  €15

    buy books

  • videos only

    $80 $40 £34  /  €40

    buy videos

plus your country’s sales tax where applicable

Есть два варианта установки платформы контейнеризации Docker на Windows 10 и 11: в виде нативного win приложения Docker Desktop for Windows (используется встроенные компоненты Hyper-V + контейнеры Windows), или в виде полноценной установки Docker Engine в дистрибутив Linux в подсистеме Windows Subsystem for Linux (WSL2). В этой статье мы рассмотрим процесс установки и базовой настройки Docker в среде WSL без использования Docker Desktop.

Преимущества от запуска Docker внутри WSL:

  • Docker Desktop требует Pro или Enterprise редакции Windows 10 (11). Docker Engine в WSL будет работать на домашних (Home) редакциях Windows
  • Docker Desktop для Windows потребляет довольно много RAM и места для хранения отдельных виртуальных машин Hyper-V (в случае использования Windows контейнеров)
  • Лицензионные ограничения позволяют бесплатно использовать Docker Desktop для персональных проектов, или в небольших организациях (до 250 сотрудников). В других случаях нужно приобрести лицензию.

Итак, предполагаем что у вас есть компьютер с Windows 10 и 11, на котором вы установили среду Windows Subsystem for Linux (WSL2) и скачали один из доступных Linux образов (Ubuntu 24.04 в этом примере). Выведите список доступны дистрибутивов WSL:

wsl --list

Чтобы задать образ WSL, который будет использоваться по-умолчанию, выполните команду:

wsl --setdefault Ubuntu-24.04

wsl - список дистрибутивов

Убедитесь, что используется версия WSL2:

wsl --version

Если нет, выполните команду:

wsl --set-default-version 2

Чтобы подключиться к вашему дистрибутиву Linux в среде WSL, выполните:

wsl.exe

Обновите пакеты в дистрибутиве Linux (Ubuntu в этом случае):

$ sudo apt-get update && sudo apt-get upgrade -y

Затем выполните установку Docker Engine в Linux с помощью универсального официального скрипта:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

Игнорируйте появившееся предупреждение об установке Docker в среде WSL.

Установка docker engine в WSL2 на Windows

Добавьте вашего пользователя в группу docker чтобы получить возможность запускать команды docker без повышения привилегий и ввода пароля через sudo:

$ sudo usermod -aG docker $USER

Проверьте, что Docker desktop и compose установлены успешно:

$ docker --version
$ docker compose version

проверить, что docker и docker compose установлены

Теперь нужно настроить автоматически запуск docker в WSL. В современных дистрибутивах Linux для WSL2 добавлена полноценная поддержка systemd. Проверьте, что он включен:

$ cat /etc/wsl.conf

[boot]
systemd=true

Проверить что systemd включен в WSL

Затем проверьте, что systemd используется в качестве системы инициализации Linux:

$ stat /sbin/init

В данном используется systemd, т.к. процесс /sbin/init это символьная ссылка на /lib/systemd/systemd.

/lib/systemd/systemd

Запустите сервис docker engine и включите автоматический запуск:

$ sudo systemctl enable --now docker.service
$ systemctl status docker.service

Автозапуск docker.service в WSL

Если systemd не используется по той или иной причине, можно добавить его в автозагрузку WSL:

$ nano /etc/wsl.conf

[boot]
command = "/usr/sbin/service docker start"

WSL2 по-умолчанию может использовать следующие ресурсы компьютера:

  • 50% оперативной памяти
  • 25% файла подкачки (swap)
  • 100% ресурсов процессора

Если вы хотите ограничить использование ресурсов хоста подсистемой WSL2, создайте в профиле текущего пользователя текстовый файл
%UserProfile%\.wslconfig
. В этом файле можно задать глобальные ограничения для всех дистрибутивов в WSL. Например:

[wsl2]
memory=8GB
processors=4
swap=2GB

Перезапустите образ WSL из командой строки Windows:

wsl --shutdown

Попробуйте запустить тестовый docker образ в WSL:

$ docker run hello-world

Docker Engine скачает и запустит демонстрационный контейнер hello-world из Docker Hub.

Для обеспечения максимального производительности WSL2, храните все файлы контейнеров внутри WSL (а не в директориях, которые пробрасываются с Windows, таких как /mnt/c).

В современных версиях Linux (Ubuntu 22.04, Debian 10+) для управления встроенным файрволом используется nftables, а не iptables. Для нативной поддержки nftables в WSL требуется ядро Linux 5.8 или выше. В старых версиях ядра для корректной работы сети придется включать совместимость с iptables:

$ sudo update-alternatives --config iptables

update-alternatives --config iptables

Нажмите 1 для выбора режима iptables-legacy.

Теперь вы можете выполнять команды к docker в WSL из командной строки Windows. Перед командами docker нужно указывать wsl. Например, вывести список доступных образов в Docker:
wsl docker images

Управление docker контейнерами из Windows

Теперь вы можете разрабатывать и запускать Docker контейнеры непосредственно на своем Windows компьютере.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Живые обои mac для windows
  • Как настроить панель инструментов на рабочем столе windows 10
  • Драйвера opengl для windows 7 amd
  • Автоматическая блокировка компьютера windows 10 как отключить
  • Обновить bios для windows 7