Rate this post

Установка контейнера на Windows

Всю подробную информацию по развертыванию контейнеров можно найти на MSDN. Для установки нужен физический или виртуальный сервер Windows Server 2016. Windows Server 2016 поддерживает вложенную виртуализацию (Nested virtualization), но для таких контейнеров есть дополнительные требования (см.MSDN ). Как вариант можно использовать готовый образ в Azure – Windows Server 2016 Core with Containers.nnСреди компонентов сервера есть нужный компонент, процесс установки которого стандартен.n

PS> Install-WindowsFeature Containers

Или отмечаем соответствующий пункт в мастере добавления ролей и компонентов.nnустановка контейнера winnnНо в настоящее время необходимости в этом нет. Так как официально используется другой путь – при помощи компонентов Docker для установки поставщика которого используется модуль PowerShell. Поставщик обеспечит работу контейнеров на компьютере и установит Docker. Для работы Docker требуется обновление KB3176936. Поэтому перед началом работы лучше обновить ОС. Проще это сделать введя в консоли sconfig, затем выбрать пункт 6, и все обновления (нажать A и A). Ставим провайдер:n

PS> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

установка docker windowsnnПри помощи OneGet ставим последнюю версию Docker.n

PS> Install-Package -Name docker -ProviderName DockerMsftProvider

При этом автоматически установится и компонент Контейнер. После завершения потребуется перезагрузка.n

PS> Restart-Computer -Force

Файервол Windows блокирует порт 2375 на котором работает Docker. Открываем.n

PS> netsh advfirewall firewall add rule name="docker engine" ↵ndir=in action=allow protocol=TCP localport=2375

При запуске демон Docker может не подключиться к npipe://, перенастроим чтобы он использовал pipe и TCP порт.n

PS> Stop-Service dockernPS> dockerd --unregister-servicenPS> dockerd -H npipe:// -H 0.0.0.0:2375 --register-servicenPS> Start-Service docker

Проверяем:n

PS> docker version

Теперь можем работать как с Docker, только в Windows. Смотрим готовые образы в репозитарии Docker.nninstall docker windowsn

PS> docker search microsoft

Получаем (необязательное действие) и запускае(смм нужный:n

PS> docker pull microsoft/windowsservercorenPS> docker run -it --name demo microsoft/iis powershell

Получаем в результате доступ к командной строке PowerShell (вариант использование cmd вместо powershell). Если нужен контейнер Hyper-V то добавляем параметр —isolation=hyperv. Перенаправление портов работает также как и в Docker -p 80:80. Выполняем все настройки, выходим и сохраняем результат в образ.n

PS C:\> exitnPS> docker commit demo demo-1

Использовав docker push, можем отправить новый образ в облако Docker. Команда «docker ps -a» покажет все запущенные контейнеры. Установленные в локальной системе образы выводятся при помощи команды.n

PS> docker images

Возможность запускать приложения в безопасной изолированной среде, без увеличения нагрузки на ОС несомненно большой плюс новой версии Windows Server 2016. Поэтому новая фича будет востребована при развертывании и масштабировании сервисов и среди разработчиков. Остается дождаться окончательного релиза.n

Услуги DevOps администратора, установка и настройка docker, поддержка, подробнее [email protected]