Переключение на Windows-контейнеры (только для Windows)
На этом шаге мы рассмотрим переключение на Windows-контейнеры. Обратите внимание, что этот шаг применим только если вы используете Docker Desktop в операционной системе Windows. Среда LabEx представляет собой Linux-виртуальную машину, поэтому фактическое переключение здесь невозможно. Однако понимание этой концепции важно при работе с Docker в Windows.
В Windows Docker Desktop по умолчанию запускает небольшую Linux-виртуальную машину для размещения Docker engine и работы с Linux-контейнерами. Это связано с тем, что ядро Docker изначально разрабатывалось для Linux. Однако Windows также поддерживает работу с нативными Windows-контейнерами.
Если бы вы работали на компьютере с Windows с установленным Docker Desktop, переключение на Windows-контейнеры обычно выполняется через правый клик по иконке Docker в системном трее с выбором опции "Switch to Windows containers". Это действие перенастраивает Docker-демон для использования среды выполнения Windows-контейнеров вместо Linux-виртуальной машины.
После переключения вы сможете загружать и запускать образы, собранные для Windows, например mcr.microsoft.com/windows/nanoserver
.
Например, на компьютере с Windows после переключения можно выполнить:
docker pull mcr.microsoft.com/windows/nanoserver
docker run mcr.microsoft.com/windows/nanoserver cmd /c echo Hello from Windows Container!
Вывод будет следующим:
Hello from Windows Container!
Поскольку вы находитесь в Linux-среде, попытки загрузить или запустить Windows-контейнеры завершатся ошибкой. Docker engine в этой Linux-виртуальной машине не способен работать с Windows-контейнерами.
Продемонстрируем это, попытавшись загрузить Windows-образ:
docker pull mcr.microsoft.com/windows/nanoserver
Скорее всего, вы увидите сообщение об ошибке, указывающее, что образ не найден или не может быть загружен, так как Docker-демон ищет Linux-образ с таким именем.
Using default tag: latest
Error response from daemon: manifest for mcr.microsoft.com/windows/nanoserver:latest not found: manifest unknown: manifest unknown
Это подтверждает, что текущая среда настроена для работы с Linux-контейнерами и не может запускать Windows-контейнеры.
Таким образом, в среде LabEx нет практических команд для выполнения переключения на Windows-контейнеры. Этот шаг служит концептуальной информацией для пользователей, которые могут работать с Docker в Windows.