Перейти к содержимому

Как установить докер на windows

  • автор:

Установка Docker на Windows Server 2019

В нашем справочнике есть мануал по установке Docker на сервере, работающем под управлением Ubuntu 20.04. Настоящая же статья посвящена тому, как запустить хранилище Docker на операционной системе Windows Server 2019.

На виртуальном сервере, работающем под управлением Windows Server 2019, производить установку Docker наиболее оптимально при помощи интегрированной среды PowerShell. Запустить PowerShell можно из командной строки, используя команду powershell , либо из оболочки Server Manager – Tools → Windows PowerShell .

Установка Docker

Первым шагом необходимо будет установить функцию контейнеров. Сделать это можно при помощи следующей команды:

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

Далее нужно установить сам Docker, для чего используйте следующую инструкцию:

Install-Package -Name docker -ProviderName DockerMsftProvider

Во время инсталляции система попросит вашего согласия на установку пакета. Для продолжения установки нужно нажать Y .

Установка Docker

Следующей командой необходимо перезагрузить сервер по окончании установки Docker:

Restart-Computer -Force

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

Get-Package -Name Docker -ProviderName DockerMsftProvider

Версия Docker

Для этого также можно использовать следующую команду:

docker version

Версия Docker - Установка Docker на Windows Server 2019

Теперь необходимо запустить Docker:

Start-Service Docker

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

После чего уже можно будет загрузить и установить базовый образ контейнера. Например, следующей командой вы сможете произвести загрузку базового образа Nano Server для Windows Server 2019:

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

Загрузка образа mcr.microsoft.com/windows/nanoserver:ltsc2019

Список установленных образов можно вывести при помощи команды:

docker images

Список установленных образов - Установка Docker на Windows Server 2019

Теперь можно приступить к созданию образа. Команды, при помощи которых создаются и запускаются образы, лучше выполнять в командной строке, запущенной от имени администратора. Использование интегрированной среды Windows PowerShell не позволяет работать с контейнерами, так как контейнеры в конечном итоге перестают отвечать на запросы.

Запуск загруженного контейнера Nano Server с интерактивным сеансом производится следующей командой:

docker run -it mcr.microsoft.com/windows/nanoserver:ltsc2019 cmd.exe

В качестве примера на диске C:\ запущенного контейнера создайте каталог TEMP :

mkdir C:\TEMP

Перейдите в созданный каталог и создайте файл my_file.txt , содержащий текст My File :

cd C:\TEMP echo "My File" > my_file.txt

После чего выйдите из контейнера:

exit

Следующая команда нужна будет для получения идентификатора контейнера, из которого вы только что вышли:

docker ps -a

Получение идентификатора контейнера

В нашем примере идентификатор контейнера выглядит как 722200a246df . Исходя из этого вы можете создать новый образ, в котором будут учитываться изменения, внесённые в изначальный образ. Для этого нужно будет использовать команду docker commit . Новый образ мы назовём my_container , поэтому команда для его создания будет выглядеть следующим образом:

docker commit 722200a246df my_container

При помощи команды docker images можно вывести список образов, в котором будет присутствовать новый образ:

Список образов

Теперь вы можете запустить созданный контейнер при помощи команды docker run . Использование параметра —rm позволяет удалить запущенный контейнер после завершения работы оболочки командной строки. В нашем примере мы запустим контейнер my_container и выведем содержимое файла my_file.txt из директории TEMP на диске C:\ .

docker run --rm my_container cmd.exe /s /c type C:\TEMP\my_file.txt

Запуск контейнера - Установка Docker на Windows Server 2019

В итоге Docker создаст контейнер из образа my_container , запустит экземпляр командной строки, в которой выведет содержимое файла C:\TEMP\my_file.txt , после чего Docker остановит работу контейнера и удалит его.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *