Поделиться через


Начало работы. Запуск первого контейнера Windows

Область применения: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

В этом разделе описывается, как запустить первый контейнер Windows после настройки среды, как описано в разделе Начало работы: подготовка Windows для контейнеров. Чтобы запустить контейнер, сначала скачайте (в контейнерах это называется операцией извлечения) базовый образ, который обеспечивает основные службы операционной системы для вашего контейнера. Затем создается и запускается образ контейнера, основанный на базовом образе. Дополнительные сведения см. в статье.

Загрузите базовый образ контейнера

Все контейнеры создаются из образов контейнеров. Корпорация Майкрософт предлагает несколько начальных образов, называемых базовыми образами, для выбора (дополнительные сведения см. в разделе Базовые образы контейнеров). Эта процедура загружает и устанавливает лёгкий базовый образ Nano Server.

  1. Откройте окно командной строки (например, встроенную командную строку, PowerShell или терминал Windows), а затем выполните следующую команду, чтобы скачать и установить базовый образ:

    docker pull mcr.microsoft.com/windows/nanoserver:ltsc2022
    

    Если Docker не удается запустить при попытке извлечь образ, управляющая программа Docker может быть недоступной. Чтобы устранить эту проблему, попробуйте перезапустить службу Docker.

    Совет

    Если отображается сообщение об ошибке, которое говорит no matching manifest for linux/amd64 in the manifest list entries, убедитесь, что Docker не настроен для запуска контейнеров Linux. Чтобы перейти к контейнерам Windows в Docker, щелкните правой кнопкой мыши значок Docker и выберите пункт Переключиться на контейнеры Windows. Чтобы использовать командную строку для переключения между контейнерами, выполните & $Env:ProgramFiles\Docker\Docker\DockerCli.exe -SwitchDaemon.

  2. После завершения скачивания образа прочитайте EULA во время ожидания и проверьте его существование в системе, запросив локальный репозиторий образов Docker. Выполнение команды docker images возвращает список установленных образов.

    Ниже приведен пример выходных данных с изображением Nano Server.

    REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
    microsoft/nanoserver   latest              105d76d0f40e        4 days ago          652 MB
    

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

В этом простом примере будет создан и развернут образ контейнера Hello World. Для лучшего использования выполните эти команды в окне командной строки с повышенными привилегиями (но не используйте isE Windows PowerShell— это не работает для интерактивных сеансов с контейнерами, так как контейнеры, как представляется, зависают).

  1. Запустите контейнер с интерактивным сеансом из образа nanoserver, введя следующую команду в окне командной строки:

    docker run -it mcr.microsoft.com/windows/nanoserver:ltsc2022 cmd.exe
    
  2. После запуска контейнера окно командной строки изменяет контекст контейнера. В контейнере мы создадим простой текстовый файл Hello World, а затем выйдите из контейнера, введя следующие команды:

    echo "Hello World!" > Hello.txt
    exit
    
  3. Получите идентификатор только что завершенного контейнера с помощью команды docker ps:

    docker ps -a
    
  4. Создайте новый образ HelloWorld, содержащий изменения в первом запущенном контейнере. Для этого выполните команду docker commit , заменив <containerid> идентификатором контейнера:

    docker commit <containerid> helloworld
    

    Теперь у вас есть пользовательский образ, содержащий скрипт "hello world". Это можно увидеть с помощью команды docker images .

    docker images
    

    Ниже приведен пример выходных данных:

    REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
    helloworld                             latest              a1064f2ec798        10 seconds ago      258MB
    mcr.microsoft.com/windows/nanoserver   2022                2b9c381d0911        3 weeks ago         256MB
    
  5. Наконец, запустите новый контейнер с помощью команды docker выполнить с параметром --rm, который автоматически удаляет контейнер после остановки командной строки (cmd.exe).

    docker run --rm helloworld cmd.exe /s /c type Hello.txt
    

    Результат: Docker создал контейнер из образа HelloWorld, запустил экземпляр cmd.exe в контейнере, а cmd.exe считал наш файл и выводил содержимое на экран. В качестве последнего шага Docker остановился и удалил контейнер.

Запуск контейнера Windows с помощью Windows Admin Center

Используйте Windows Admin Center для локального запуска контейнеров. В частности, используйте расширение "Контейнеры" экземпляра Windows Admin Center для запуска контейнеров. Сначала откройте узел контейнера, которым вы хотите управлять, и в панели инструментов выберите расширение контейнеров. Затем выберите вкладку Изображения в расширении контейнера под узлом контейнера .

вкладка

Если у узла нет базового образа контейнера, выберите параметр Pull, чтобы открыть параметры образа контейнера.

настройки окна образа контейнера

В настройках образа контейнера укажите URL-адрес изображения и тег. Если вы не уверены, какой образ нужно извлечь, Windows Admin Center предоставляет список распространенных образов от Майкрософт. Вы также можете указать учетные данные для извлечения образа из частного репозитория. После заполнения необходимых сведений выберите Pull. Windows Admin Center запускает процесс загрузки на узле контейнера. После завершения скачивания вы увидите новое изображение на вкладке Изображения.

Выберите образ, который вы хотите запустить, и выберите Запустить.

окно

В меню Запуск настройте конфигурацию контейнера, например, имя контейнера, тип изоляции, публикуемые порты, выделенные память и ЦП. Кроме того, можно добавить команды запуска Docker, которые не находятся в пользовательском интерфейсе, например -v для персистентного тома. Дополнительные сведения о доступных параметрах запуска Docker см. в документации .

После завершения настройки контейнера нажмите кнопку Запустить. Состояние запущенных контейнеров можно увидеть на вкладке "Контейнеры" :

вкладка "Контейнеры

Дальнейшие действия