Главная
» WINDOWS
»
Как запустить контейнеры Docker на Windows Server
Как запустить контейнеры Docker на Windows Server
Для запуска контейнеров Docker на Windows Server необходимо установить среду выполнения контейнеров Windows, загрузить образ, созданный для совместимой версии Windows, и запустить его с помощью команды `docker run` docker run. В описанных ниже шагах используется скрипт настройки Moby (Docker CE) и Docker CLI, описанные в документации Microsoft. Во многих старых руководствах используется DockerMsftProvider; в руководстве Microsoft по быстрому запуску теперь описан другой путь настройки на основе скрипта.
Выберите среду выполнения перед установкой.
В руководстве Microsoft по контейнерам Windows Server в качестве вариантов среды выполнения указаны Moby (Docker CE), Mirantis Container Runtime (MCR) и containerd. Moby предоставляет привычную командную строку Docker, используемую здесь. Для поддерживаемой поставщиком среды выполнения в производственной среде рекомендации Microsoft по локальной поддержке рекомендуют MCR; перед установкой проверьте текущую матрицу совместимости Mirantis, условия лицензирования и поддержки. Руководство Microsoft по настройке контейнеров Windows объясняет доступные варианты.
Docker Desktop не поддерживается на Windows Server. Собственные контейнеры Windows Server работают с образами Windows; они не могут напрямую запускать образы Linux, поскольку контейнеры используют ядро хоста. Если вашей рабочей нагрузке требуются контейнеры Linux, используйте хост Linux или виртуальную машину Linux. Microsoft заявляет, что Linux Containers on Windows Server (LCOW) устарел, и Docker Desktop не поддерживается в серверных версиях. См. политику поддержки Windows Server от Microsoft и руководство по установке Docker для Windows .
1. Проверьте хост Windows Server.
Войдите в систему с учетной записью, которая может устанавливать компоненты Windows, затем откройте PowerShell от имени администратора. Запишите версию сервера и сборку, чтобы позже выбрать подходящий образ контейнера:
Перед выбором тега образа контейнера Windows проверьте версию хоста.
Поддерживайте хост в актуальном состоянии. Если сервер представляет собой виртуальную машину Hyper-V, и вы планируете запускать контейнеры, изолированные Hyper-V, виртуальной машине потребуется вложенная виртуализация; контейнеры, изолированные процессами, не используют этот дополнительный уровень Hyper-V. Перед выбором режима изоляции ознакомьтесь с требованиями Microsoft к хосту контейнеров Windows .
2. Загрузите установщик Docker CE от Microsoft.
В текущем варианте быстрого запуска от Microsoft используется сценарий PowerShell из репозитория Windows-Containers. В окне PowerShell с правами администратора загрузите сценарий:
Для управляемого сервера перед запуском загруженного кода следуйте процедуре проверки скриптов, принятой в вашей организации. На официальной странице настройки этот скрипт идентифицируется как метод установки Moby/Docker CE и указывается, что он включает функции операционной системы, связанные с контейнерами, а также устанавливает среду выполнения.
3. Установите среду выполнения.
Запустите загруженный скрипт из папки, где он был сохранен:
.install-docker-ce.ps1
Дождитесь завершения установки и следуйте инструкциям по перезапуску. Скрипт настраивает хост контейнеров Windows и устанавливает компоненты Docker Engine. Если PowerShell блокирует выполнение скрипта из-за политики выполнения вашей организации, используйте утвержденный вами процесс развертывания программного обеспечения, а не изменяйте политику для всей машины.
Запустите установщик в сеансе PowerShell с правами администратора и выполните необходимые перезапуски.
4. Убедитесь, что Docker Engine доступен.
После установки — и после перезапуска, если потребуется — войдите в систему и проверьте соединение между службой и демоном, а также соединение между клиентом и демоном:
Get-Service docker
docker version
docker info
Get-ServiceДолжен отображаться отчет о работе службы Docker. docker versionУбедитесь, что отображаются разделы «Клиент» и «Сервер». Если раздел «Сервер» отсутствует, проверьте состояние службы и убедитесь, что настройка по-прежнему требует перезагрузки.
Наличие запущенной службы и указание версии Docker в обоих разделах свидетельствуют о том, что CLI может связаться с движком.
5. Сопоставьте тег изображения с хостом.
Образы контейнеров Windows более тесно привязаны к версиям хост-системы, чем типичные образы Linux. Начните с соответствующего тега канала долгосрочного обслуживания (LTSC):
Хост Windows Server
Тег изображения ядра сервера
Windows Server 2025
ltsc2025
Windows Server 2022
ltsc2022
Windows Server 2019
ltsc2019
Наиболее безопасным отправным пунктом является соответствие хоста и версии образа. В таблице совместимости контейнеров Windows от Microsoft описаны исключения и особенности изоляции. Используйте образы из доверенного реестра и ознакомьтесь с инструкциями издателя образа относительно требований, специфичных для конкретного приложения.
6. Извлеките и запустите тестовый контейнер.
Для хоста Windows Server 2022 загрузите образ Microsoft Server Core с соответствующим тегом. При использовании этих версий хоста замените на ltsc2025или :ltsc2019
Выполните одноразовую команду, чтобы убедиться в возможности запуска образа. Эта --rmопция удаляет тестовый контейнер при завершении команды:
docker run --rm mcr.microsoft.com/windows/servercore:ltsc2022 cmd /c echo Hello from a Windows container
В PowerShell должен отобразиться текст. Изображение остаётся в локальном кэше, а временный контейнер удаляется.
7. Запуск и управление контейнером приложения.
Для образа приложения следуйте инструкциям по запуску, указанным издателем, и замените YOUR_IMAGEна полное имя образа и тег. В этом примере запускается фоновый контейнер с именем webappи сопоставляется порт хоста 8080 с портом контейнера 80; используйте эти порты только в том случае, если приложение прослушивает порт 80:
docker run -d --name webapp -p 8080:80 YOUR_IMAGE
Затем осмотрите и при необходимости очистите контейнер:
docker psОтображает запущенные контейнеры, а docker ps -aтакже список остановленных. Удаление контейнера не приводит к удалению его образа. Если приложение хранит данные, которые должны сохраниться после замены контейнера, настройте том Docker или привяжите его к памяти, используя документацию образа, и разрешите доступ к сопоставленному порту хоста через брандмауэр Windows только в случае необходимости внешнего доступа.
Распространенные проблемы при запуске
Образ не удается установить из-за ошибки версии: подтвердите версию хоста и тег LTSC образа, затем обратитесь к таблице совместимости Microsoft. Изоляция Hyper-V может помочь с некоторыми поддерживаемыми комбинациями версий, но для этого требуется роль Hyper-V и, в виртуальной машине, вложенная виртуализация.
Сервер Docker недоступен: проверьте Get-Service docker, запустите или перезапустите службу при необходимости и завершите все ожидающие перезапуски хоста.
Сбой при загрузке образа: проверьте имя и тег реестра, исходящий доступ к Microsoft Container Registry, а также любые правила прокси-сервера или брандмауэра. Для образа Linux требуется среда выполнения Linux на хосте или виртуальной машине Linux.
Для получения подробной информации о выборе среды выполнения, обслуживании образов и поддержке хостов используйте документацию Microsoft и Mirantis, ссылки на которую приведены ниже, поскольку поддерживаемые версии и инструкции по установке могут меняться.