Що таке контейнер
?Контейнер – це ізольоване середовище, де може працювати програма.
Контейнер, додаток і всі його залежності будуються з частин ресурсів хоста, таких як операційна система ядра, процесор і пам'ять, а потім логічно відокремлюються від інших контейнерів і від самого хоста.
На діаграмі нижче показано, як червоний і жовтий контейнери співіснують в одному хості, використовуючи те саме обладнання та операційну систему ядра, але містяться в межах свого індивідуального простору, що дозволяє їм запускати свої програми без зовнішнього втручання.
Зверніть увагу на те, що те саме обладнання та операційна система, інстальовані на цьому обладнанні, можуть запускати власні програми та служби, також незалежно від того, що відбувається в кожному контейнері.
Як створювати та запускати контейнери в Windows Server
Контейнери можуть працювати на різних платформах, таких як операційні системи Linux, Windows і Mac. Однак ця стаття/демонстрація присвячена запуску контейнерів у Windows Server.
Існує кілька способів роботи з контейнерами Windows, зокрема Центр адміністрування Windows (WAC) або Visual Studio. Однак у цій статті/демонстрації використовується Docker.
Docker — це продукт «платформа як послуга», який можна використовувати для об'єднання програми, всіх її залежностей та інформації про конфігурацію в єдиний пакет, який називається контейнером. Потім Docker можна використовувати для відправлення, запуску або видалення цього контейнера.
Подальші кроки були виконані на новій інсталяції Windows Server 2022.
Список обов'язкових умов для запуску контейнерів на Windows Server можна знайти за зовнішнім посиланням нижче:
Початок роботи: Підготовка вікон до контейнерів
Кроки для створення та запуску контейнерів на Windows Server за допомогою Docker можна підсумувати наступним чином:
1. Встановити Docker
У PowerShell (запуск від імені адміністратора) введіть:
install-module -name DockerMsftProvider -repository PSGallery -force
У підказці введіть «
Y», щоб підтвердити встановлення NuGet.
У тому ж сеансі PowerShell введіть:
Install-Package -Name docker -ProviderName DockerMsftProvider
У запиті введіть "
Y", щоб довіряти пакету.
У тому ж сеансі PowerShell введіть:
Restart-Computer
2. Створіть файл Docker і завантажте образ
контейнераПід час підвищеного сеансу PowerShell перейдіть до кореневого каталогу та створіть нову папку, ввівши таке:
cd\
mkdir Containers
cd Containers
У тому ж сеансі PowerShell створіть docker-файл і відредагуйте його, ввівши такі дії:
New-Item dockerfile
(Зверніть увагу, що немає розширення файлу)
notepad dockerfile
У текстовому редакторі блокнота введіть наступні 3 рядки, а потім збережіть і закрийте dockerfile:
FROM mcr.microsoft.com/windows/servercore/iis
RUN powershell
COPY index.html C:/inetpub/wwwroot
Поверніться до Powershell, все ще в контексті C:\Containers, створіть файл n html і відредагуйте його, ввівши наступне:
Новий елемент index.html
блокнот index.html
У текстовому редакторі блокнота введіть наступні три рядки, а потім збережіть і закрийте файл index.html:
<h1>Hello World!</h1>
<p>This is an example of a simple HTML page hosted on:</p>
<h2>container #1</h2>
3. Створіть і запустіть контейнер.
Повернувшись до PowerShell, все ще в C:\Containers, type:
docker build -t webserver .
Зачекайте, поки образ завантажиться з реєстру контейнерів Microsoft, а потім type:
docker images
Тепер ви повинні побачити завантажене зображення.
Щоб нарешті запустити контейнер за допомогою завантаженого шаблону зображення, поверніться до powershell type:
docker run --name container1 -d -p 80:80 webserver
Цей останній рядок створює та запускає контейнер з назвою container1 на основі підготовленого образу веб-сервера. Перемикач -d наказує Windows запускати контейнер у фоновому режимі, а -p наказує windows переспрямувати порт 80 (HTTP) на хост на порт 80 у контейнері.
Щоб протестувати контейнер
:Відкрийте веб-браузер на хості та перейдіть до localhost (ви також можете використовувати інший комп'ютер у тому ж сегменті мережі та перейти до IP-адреси хоста контейнера або імені комп'ютера).
Ви повинні натиснути зразок веб-сторінки HTML, створеної раніше:
На цьому підручник про те, як запускати контейнери Docker у Windows Server 2022.