Първи стъпки с Docker в Windows 11 (WSL2) без Docker Desktop
Docker е мощен инструмент за контейнеризация, който ви позволява да изграждате, разгръщате и управлявате приложения в изолирани среди. Docker Desktop е официалната GUI версия за Windows и macOS, но не е единственият начин да използвате Docker на Windows 11. Ако предпочитате да избегнете Docker Desktop, можете да използвате Docker директно в Windows чрез WSL2 (Windows Subsystem for Linux). Тази статия ще ви покаже как да направите това стъпка по стъпка.
Какво е WSL2?
WSL2 е усъвършенствана версия на Windows Subsystem for Linux, която ви позволява да стартирате Linux среда директно в Windows. Това означава, че можете да използвате командния ред на Linux и различни Linux инструменти без да се налага да инсталирате пълноценна виртуална машина. WSL2 използва виртуализация и предоставя по-добра производителност и съвместимост в сравнение с WSL1.
Docker работи отлично с WSL2, защото Linux контейнерите се стартират директно в WSL средата, което води до по-добра интеграция и производителност.
Предварителни условия
Преди да започнете, трябва да изпълните няколко условия:
- Windows 11 – Уверете се, че използвате Windows 11 с най-новите актуализации.
- Активиране на WSL2 – WSL2 трябва да бъде активиран и настроен на вашата система.
- Инсталиран Linux дистрибутив – Нуждаете се от инсталирана Linux дистрибуция (например Ubuntu), която ще използвате с WSL2.
1. Активиране на WSL2
Ако WSL2 все още не е активиран, трябва да го направите. Следвайте тези стъпки:
- Отворете PowerShell като администратор. Натиснете Win + X и изберете „Windows Terminal (Admin)“ или „PowerShell (Admin)“.
- Изпълнете следната команда, за да активирате
wsl --install
Тази команда ще инсталира WSL и ще активира WSL2 като основната версия. След завършване рестартирайте компютъра.
- Инсталирайте желаната Linux дистрибуция, ако все още не сте го направили:
wsl --install -d Ubuntu
Можете да замените „Ubuntu“ с друга поддържана дистрибуция, ако предпочитате. След инсталацията ще трябва да конфигурирате дистрибуцията с потребителско име и парола.
- Проверете версията на WSL:bashCopy code
wsl -l -v
Трябва да видите вашата дистрибуция с версия 2 (WSL2). Ако не, използвайте командата по-долу, за да я промените:
wsl --set-version Ubuntu 2
2. Инсталиране на Docker в WSL2
След като имате работещ WSL2, следващата стъпка е да инсталирате Docker. За тази цел ще използваме стандартни Linux команди за инсталиране на Docker в WSL средата.
Стъпки за инсталиране на Docker
Отворете вашия WSL2 терминал (Ubuntu или друга дистрибуция, която сте инсталирали).
Обновете наличните пакети с командата:
sudo apt update && sudo apt upgrade
Инсталирайте необходимите зависимости:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Добавете официалния Docker GPG ключ:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Добавете Docker репозитория:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Обновете отново пакетите:
sudo apt update
Инсталирайте Docker:
sudo apt install docker-ce docker-ce-cli containerd.io
Docker вече е инсталиран във вашата WSL среда. Следващата стъпка е да се уверите, че всичко е настроено правилно и работи.
Настройки за стартиране на Docker без root
По подразбиране, Docker изисква root права, но можете да го настроите така, че да го стартирате като обикновен потребител.
- Добавете вашия потребител към Docker групата:
sudo usermod -aG docker $USER
2. Излезте и влезте отново в WSL' .
След като влезете отново, проверете дали Docker работи без root с командата:
docker run hello-world
Ако виждате съобщение, че контейнерът се е стартирал успешно, значи всичко е наред.
4. Настройка на системни услуги (Systemd)
По подразбиране WSL2 не поддържа systemd, което е важно за Docker, тъй като някои от неговите процеси зависят от systemd. Можете да заобиколите това ограничение с някои конфигурации.
Как да активирате systemd в WSL2
- Редактирайте файла
wsl.conf
, за да активирате systemd. Изпълнете следната команда:
sudo nano /etc/wsl.conf
2. Добавете следния текст в редактора:
[boot]
systemd=true
3. Запазете файла с Ctrl + O и излезте с Ctrl + X.
4. След това трябва да рестартирате WSL, за да се приложат промените:
wsl --shutdown
5. Стартирайте отново WSL, като отворите терминала.
След това Docker трябва да стартира автоматично със systemd, когато влезете в WSL2.
Резюме
Docker може да бъде използван на Windows 11 без Docker Desktop, чрез интеграция с WSL2. Този метод ви предоставя гъвкавостта и производителността на Linux контейнерите, без нуждата от виртуална машина или допълнителни приложения. Настройките и оптимизациите, описани в тази статия, ще ви помогнат да настроите и използвате Docker по-ефективно в Windows.
Сега, след като сте инсталирали и конфигурирали Docker в WSL2, можете да започнете да разработвате и стартирате контейнеризирани приложения, директно в Windows 11!
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut