Instalacja docker na windows server (VPS)

1

Cześć,

startuje z projektem komercyjnym i potrzebuje sobie skonfigurować produkcyjne środowisko na VPS (windows server).

Próbuje zainstalować dockera ale właśnie nie wiem do końca jak to zrobic.

Z tego co przeczytałem do niedawna oficjalnym sposobem instalacji dockera na windows server była paczka DockerMsftProvider

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force

Licencja windows server obejmowała koszty licencji docker enterprise której to komponenty były instalowane przez ten skrypt.

Niemniej to nie jest już aktualne i teraz w dokumentacji Microsoft są 3 opcje instalacji dockera:
https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/set-up-environment?tabs=dockerce#windows-server-1

Poczytałem trochę ale dalej nie do końca rozumiem czym tak naprawdę jest Moby / Mirantis i czy ja to potrzebuje? Też w tych projektach jest jakiś pricing.

Ja potrzebuje zainstalować kilka obrazów na serwerze z repozytorium, i uruchomić docker compose.
Nie chce za to płacić, więc też istotne dla mnie jest to, żeby ta informacja o licencji była jasna.

Patrząc na porównanie docker desktop i docker engine, docker desktop daje sporo korzyści jeżeli się z niego korzysta. Ale rozumiem, że to nie jest przeznaczone na windows server.
https://www.docker.com/products/docker-desktop/alternatives/

Może ktoś z was wie coś więcej w tym temacie i chciałby się podzielić jak to ogarnąć, żeby to miało ręce i nogi. Nie problem jest nainstalować czegoś i będzie działać. Chciałbym rozumieć co robie ;p
Z góry dzięki.

Tutaj fajny wpis odnośnie dockera i licencji
https://freddysblog.com/2021/10/30/docker-and-business-central/

2

Potrzebujesz uruchamiać kontenery z Windows, czy też tylko kontenery z Linuksem?

Jeżeli tylko z Linuksem, to zrób sobie maszynę wirtualną z Linuksem, która będzie twoim hostem Dockera i na niej pracuj. Docker dla Windows zasadniczo tak działa – pod spodem jest linuksowa VM, która robi wszystko, a jedynie jest zrobione połączenie, że jak wydajesz komendę "docker" na Windowsowym hoście, to ona się łączy z tą VM-ką.

0

Nie wiem czym podyktowane miałoby być uruchamiane kontenerów windows/linux. Więc domyślam się że mi to wszystko jedno i mógłbym używać tylko tych linuksowych?
Mógłbyś bardziej rozwinąć temat w kontekście maszyny wirtualnej? Mam zainstalować maszyne wirtualną na windows server i na niej byłby docker a na windows server "reszta" ?
Ale przyznam że nie chciałbym tego robić..

Wybrałem windows server tylko dlatego że nie wiem czy poradziłbym sobie z konfiguracją serwera linuxowego. Widziałem masę poradników jak to zabezpieczyć itd ale dalej nie wiem czy będę umiał tym zarządzać i mieć nad tym jakąś kontrolę.

Coraz bardziej zastanawiam się, żeby przejść na linux skoro na windows server same problemy i kosztuje 2x więcej :/
Może masz z tym doświadczenie i jesteś w stanie doradzić czy w moim przypadku warto spróbować z VPSem na linuxie?

Widziałem że jakieś dodatkowe panele są udostępniane do zarządznia VPSem z linuxem jakaś konfiguracja smtp czy cos podobnego ale to chyba dodatkowe koszty.

Wracając do tematu z dockerem. Podsumowując ,żeby korzystać z dockera na windows server musze zainstalować container runtime i mam 3 opcje:

1.Docker CE / Moby
2. Mirantis container runtime
3. ContainerD

Mirantis
Dotychczasowa paczka z repo Microsoft do intalowania docker -> DockerMsftProvider nie jest już aktualna ponieważ Microsoft zmienił warunki i z tego co rozumiem oni nie będą się już zajmować wsparciem kontenerów. Będzie to robił Mirantis który to ogłosił wstępne ceny które nie są oficjalne i się zmienią. Jest też opcja free, która może zostać a może nie. Nikt tego nie wie. Więc korzystając z tego trzeba śledzić czy nie zmieniła się licencja. Czyli koszty licencji windows server już nie będą obejmowały koszty używania ich conainer runtime.

Moby
To dla mnie zagadka - na stronie nie ma, żadnego pricingu ani informacji o licencji. Jest tylko informacja ze Moby używa ContainerD który jest open source.
Podejrzewam że Miritanis też tego używa. Tak samo jak chyba używane jest to na Linuxie. Z tego co zrozumiałem Moby należy do projektu dockera, a raczej ten projekt to zbiór różnych repo dockerowych.

ContainerR
Jest open source i można korzystać z tego za free - jednakże instalacja chyba jest trochę bardziej skomplikowana.

Tutaj poniżej fragment z artykułu bloga Mirantis który to wyjaśnia korzyści płynące z korzystania ich container runtime.
https://www.mirantis.com/blog/windows-server-container-users-mirantis-is-here-to-support-you/

There are three options for existing Windows Server container users: Mirantis Container Runtime, containerd, or Moby. Developers (and members of management) need to choose carefully; not all container runtimes are the same, and there are stark differences between Mirantis Container Runtime, Moby and community-based containerd. Organizations using Windows Server containers should weigh their options carefully, as they may risk losing security and compliance features that may be vital or even mandatory for their deployment.

Namely, while containerd and Moby provide high-level container runtimes with basic functionality, Mirantis Container Runtime offers advanced enterprise features, including FIPS 140-2 security alignment. Government agencies and regulated industries such as banking, insurance, healthcare, telecommunications and others where FIPS 140-2 compliance and secure software supply chains are mandated or prioritized need to take action by installing Mirantis Container Runtime. This also applies to companies that require commercial or 24x7x365 support for production deployments.

So if you’re going to make the effort of installing a container runtime, it would benefit you to choose Mirantis Container Runtime as the more feature-rich option with greater security.

Mega to dziwne wszystko. Myślałem że jest to jakoś bardziej zorganizowane...
Jak ktoś ogarnia ten temat to prosiłbym o zabranie głosu :)

0

Mega to dziwne wszystko. Myślałem że jest to jakoś bardziej zorganizowane...

Trochę offtop z mojej strony, ale podzielam zdanie. Taki Docker Desktop sam w sobie jest bardzo fajnym narzędziem, wydawać by się mogło że świetnie nadawał by się do postawienia na serwerze a tu psikus- dostępny tylko pod Windows (nie Windows Server).

Tak samo ogólne wsparcie Dockera na Windows Server. Aż dziwne że Microsoft bardziej nie ułatwia tego, ale oni chyba chcą po prostu aby ludzie przyzwyczajeni do Windowsa odpalali kontenery produkcyjne w Azure, wiedząc że przerzucenie się na Linux to jednak spore przedsięwzięcie, szczególnie jeśli chodzi o w/w kwestie zabezpieczenia tego.

2

Żeby nie było – nie znam się na Dockerze na Windows Server, nigdy nie było mi to potrzebne, opieram się tylko o to, co wiem i co mi się wydaje i przeczytałem w internecie przez ostatnią godzinę, a nie mam teraz wolnego 2022 aby sprawdzić czy działa :)

Nie wiem czym podyktowane miałoby być uruchamiane kontenerów windows/linux. Więc domyślam się że mi to wszystko jedno i mógłbym używać tylko tych linuksowych?
Mógłbyś bardziej rozwinąć temat w kontekście maszyny wirtualnej? Mam zainstalować maszyne wirtualną na windows server i na niej byłby docker a na windows server "reszta" ?
Ale przyznam że nie chciałbym tego robić..

Nie jest wszystko jedno. Jeżeli nie wiesz, czy potrzebujesz kontenerów z Windows, to prawdopodobnie nie potrzebujesz kontenerów z Windows, bo 95% obrazów to obrazy Linuksowe. Których nie da się uruchomić na Windows (i odwrotnie – obrazów Windowsowych na Linuksie też).

Wybrałem windows server tylko dlatego że nie wiem czy poradziłbym sobie z konfiguracją serwera linuxowego. Widziałem masę poradników jak to zabezpieczyć itd ale dalej nie wiem czy będę umiał tym zarządzać i mieć nad tym jakąś kontrolę.

Dlatego sugeruję maszynę wirtualną (jeżeli możesz, bo nie wiem, czy twój VPS na to pozwala!). SMTP czy inny serwer WWW robisz sobie pod Windows, a jedynie VM z Linuksem jest hostem dla Dockera i usług dostarczanych przez Dockera.

Jeżeli dobrze rozumiem, to kiedyś Docker EE dla Windows zawierał zarówno obsługę kontenerów Windows, jak i Linux (jak Docker Desktop), aczkolwiek to było "eksperymentalne" (LCOW i chyba jest deprecated teraz. Czy Mirantis ma to teraz – nie wiem. W cytacie, który wkleiłeś:

There are three options for existing Windows Server container users: Mirantis Container Runtime, containerd, or Moby. Developers (and members of management) need to choose carefully; not all container runtimes are the same, and there are stark differences between Mirantis Container Runtime, Moby and community-based containerd. Organizations using Windows Server containers should weigh their options carefully, as they may risk losing security and compliance features that may be vital or even mandatory for their deployment.

W moim rozumieniu "Windows Server containers" = kontenery Windowsowe.

containerd zawsze jest wspominany w kontekście Kubernetes: https://techcommunity.microsoft.com/t5/containers/contain-your-excitement-updates-on-windows-server-2022-and/ba-p/2820015 ale chyba też chodzi o kontenery Windowsowe na Windows.

Niestety, wszystkie artykuły jakie znajduję w internecie o kontenerach Linuksowych na Windows zawsze mówią "zainstaluj Docker EE" albo "użyj WSL", a nie wiem w końcu jaki jest status WSL2 w Windows Server – najwyraźniej działa, ale jest to bardzo świeże https://dev.to/composite/a-tiny-but-perfect-guide-how-to-install-wsl-2-on-windows-server-2022-1a8f

Znalazłem coś takiego: https://github.com/slonopotamus/stevedore co niby ma robić zastępstwo dla Docker Desktop. Jeżeli WSL2 faktycznie działa w Windows Server, to możesz przejrzeć to: https://lippertmarkus.com/2021/09/04/containers-without-docker-desktop/

Niby Docker Desktop nie jest wspierany na WSS2022 ale niby działał, jak znalazłem w tej dyskusji i innych – musisz sprawdzić. Przy instalacji i tak będzie wymagał Hyper-V i stworzenia sobie VM-ki.

Tak samo ogólne wsparcie Dockera na Windows Server. Aż dziwne że Microsoft bardziej nie ułatwia tego, ale oni chyba chcą po prostu aby ludzie przyzwyczajeni do Windowsa odpalali kontenery produkcyjne w Azure, wiedząc że przerzucenie się na Linux to jednak spore przedsięwzięcie, szczególnie jeśli chodzi o w/w kwestie zabezpieczenia tego.

Przeglądając te dyskusje i inne materiały, jakie widziałem, to chyba oni najpierw postawili na Docker EE, a teraz to czekali aż WSL2 przyjdzie do Windows Server i może teraz coś zrobią. Ale że przecież klient może uruchomić swoje kontenery w Azure Kubernetes Service i płacić jak za zboże to przecież bardziej opłacalne...

1 użytkowników online, w tym zalogowanych: 0, gości: 1