docker - realne zastosowanie

Odpowiedz Nowy wątek
2019-01-07 17:04
0

Na wstępie napiszę - tak szukałem i czytałem w sieci artykuły, ale dalej nie rozumiem do czego Docker może być przydatny jak mamy aplikację napisaną, np. w ASP. NET MVC, która musi stać na windowsie.
W artykułach były opisane aplikacje napisane w php, gdzie trzeba zainstalować apache, mysql itd. - to na Dockerze to można zainstalować to to rozumiem. A aplikacja ASP.NET MVC?

Pozostało 580 znaków

2019-01-07 17:20
1

Na prawdę wpisanie w google 'docker .net core' było takie trudne?
https://docs.docker.com/engine/examples/dotnetcore/

EDIT
Poza tym, mimo że masz aplikacje w .net'cie często korzystasz w niej z jakiejś bazy. U nas w firmie dzięki dockerowi każdy zaoszczędzą co najmniej parę godzin gdy trzeba w środowisku dev użyć danych z redisa z danymi produkcyjnymi. Normalnie trwało by parę godzin zanim wszystko by się ogarnęło, a tak to tylko docker-compose up i w pół minuty wszystko zrobione.

EDIT2:
Przepraszam, pomyliłem .net z ASP.net mvc. Tu link do i strukcji z drugim https://docs.microsoft.com/pl[...]w/deployment/docker-aspnetmvc

edytowany 2x, ostatnio: NickOver, 2019-01-07 17:27

Pozostało 580 znaków

2019-01-07 19:07
0

Czyli używacie Dockera w sytuacji, gdy na produkcji jest jakiś błąd i chcecie odtworzyć tę sytuację lokalnie przy użyciu bazy produkcyjnej - no, ok możecie się wówczas szybko przełączyć między bazami. Dziękuję.

A jeszcze jakieś inne zastosowania? Ten artykuł nie jest zbyt konkretny:
Open-source
Develop and run your ASP.NET Core apps cross-platform on Windows, MacOS, and Linux
Great for modern cloud-based apps, such as web apps, IoT apps, and mobile backends
ASP.NET Core apps can run on .NET Core or on the full .NET Framework
Designed to provide an optimized development framework for apps that are deployed to the cloud or run on-premises
Modular components with minimal overhead retain flexibility while constructing your solutions

Już nawet nieważne czy aplikacja jest w .NET Core czy .NET Framework. Załóżmy, że 5 deweloperów rozwija jakąś aplikację - jak Doker może im ułatwić pracę?

Z tego co widziałem to Docker bardzo by się przydał gdybyśmy mieli aplikacje w różnych technologiach: wówczas w jednym kontenerze mielibyśmy php/apache/mysql, w drugim java/linux w trzecim c#/windows. Czyli jeden mikroserwis w jednej technologii byłby w jednym kontenerze, drugi w drugiej technologii w drugim kontenerze, a trzeci w trzeciej technologii w trzecim kontenerze. Deweloperzy nie musieliby instalować u siebie php, apache, linuxa itd. - ale jak wszystkie mikroserwisy sa w dokładnie tej samej technologii - c# i każdy deweloper i tak ma zainstalowanego u siebie na komputerze windowsa, .NETa itd. to jaka to zaleta?

edytowany 3x, ostatnio: wiewiorek, 2019-01-07 19:49

Pozostało 580 znaków

2019-01-07 20:06
1

Główną zaletą dockera jest jego izolacja. Cały stack aplikacji możesz przenosić pomiędzy środowiskami poprzez tak naprawdę jeden plik - docker-compose. Masz wtedy wyizolowaną aplikacje, która na
każdym środowisku stawia się bardzo szybko oraz zachowuje tak samo.

Pozostało 580 znaków

2019-01-07 20:20
0

Jeżeli nie widzisz / nie ma dla ciebie zalet, to go nie używaj, bo dodajesz sobie kolejny point of failure albo po prostu stracisz dużo czasu, a zyskasz niewiele.

Ogólnie jest to wygodna zabawka do testów, gdy trzeba postawić coś jak najszybciej się da, a nie tracić 2h na instalowanie czegoś na VMce albo u siebie.

Jeżeli coś wrzuca się na siłę, bo "wszyscy tak robią" to od razu można iść po Hype-Quadro-Stack: Mongo+Node+Docker+Blockchain :D

edytowany 8x, ostatnio: WeiXiao, 2019-01-07 20:31
Zapomniałeś o Serverless. - vpiotr 2019-01-11 11:49

Pozostało 580 znaków

2019-01-07 20:21
0

Moze tez chodzic o optymalizacje kosztow systemu VM. Np. moze sie okazaz ze taniej wyjdzie jedna duza maszyna niz dwie male, chociaz patrzac na ceny AWS nie widze by tak faktycznie bylo. Ale za to mozna "dopelnic maszyne".

Czyli mamy server ktory potrzebuje 1.2 m5.xlarge i drugi ktory potrzebuje 0.6 m5.xlarge wtedy zamiast brac m5.2xlarge i m5.xlarge zmiescimy system na jednym m5.2xlarge (upraszczam, bo w rzeczywistosci te wyliczenie nie sa takie proste, zwlaszcza ograniczenie bandwith dla sieci jest zdradliwe na AWS).

Pozostało 580 znaków

2019-01-07 20:36
0

No właśnie chciałbym Dockera bardzo użyć u siebie w firmie, ale 'muszę' znaleźć jakieś sensowne jego zastosowanie do tworzonego projektu, a nie tylko ze względu na to, że jest modny.

Pozostało 580 znaków

2019-01-07 22:08
Mały
8

Docker jest fajny jeżeli masz kilka różnych apek z różnymi wymaganiami i w różnych wersjach i próbujesz to wszystko uruchamiać na jednym serwerze. Wszystko jest spoko jak zainstalujesz i dopieścisz to na początku, ale potem nagle przychodzi ci zrobić upgrade jednej z nich (przykładowo .NET Core 2.1 > 2.2). Okazuje się, że trzeba zainstalować .NET Core 2.2, ale do niego potrzebna jest jakaś biblioteka w wersji, której nie znajdziesz w danym systemie lub jej wersja kłóci się z wersją dla innej apki. Jesteś w d..... Ale jeżeli użyjesz dockera to tylko podmienisz obraz źródłowy na taki obsługujący 2.2 i ogień.
Poza tym cała koncepcja orkiestracji (nienawidzę tego słowa) za pomocą docker-compose jest bardzo przydatna w utrzymaniu. Jeżeli masz system jak wyżej to w razie grzebania i położenia jednej lub wielu apek masz zabawę, żeby to odtworzyć do stanu pierwotnego, a jeżeli wszystko przygotowałeś sobie wcześniej w formie plików .yml to odtwarzasz tylko dane, puszczasz doker-compose up i idziesz na kawę.
Do tego oczywiście dochodzi możliwość w 100% odtworzenia środowiska testowego na produkcji.

Pozostało 580 znaków

2019-01-08 05:16
0
Mały napisał(a):

Docker jest fajny jeżeli masz kilka różnych apek z różnymi wymaganiami i w różnych wersjach i próbujesz to wszystko uruchamiać na jednym serwerze. Wszystko jest spoko jak zainstalujesz i dopieścisz to na początku, ale potem nagle przychodzi ci zrobić upgrade jednej z nich (przykładowo .NET Core 2.1 > 2.2). Okazuje się, że trzeba zainstalować .NET Core 2.2, ale do niego potrzebna jest jakaś biblioteka w wersji, której nie znajdziesz w danym systemie lub jej wersja kłóci się z wersją dla innej apki. Jesteś w d..... Ale jeżeli użyjesz dockera to tylko podmienisz obraz źródłowy na taki obsługujący 2.2 i ogień.
Poza tym cała koncepcja orkiestracji (nienawidzę tego słowa) za pomocą docker-compose jest bardzo przydatna w utrzymaniu. Jeżeli masz system jak wyżej to w razie grzebania i położenia jednej lub wielu apek masz zabawę, żeby to odtworzyć do stanu pierwotnego, a jeżeli wszystko przygotowałeś sobie wcześniej w formie plików .yml to odtwarzasz tylko dane, puszczasz doker-compose up i idziesz na kawę.
Do tego oczywiście dochodzi możliwość w 100% odtworzenia środowiska testowego na produkcji.

O dziękuję :)

Pozostało 580 znaków

2019-01-08 05:29
W2K
4

Np.Aplikacja mikroserwisowa - każdy mikroserwis to osobna aplikacja - postawiona w osobnym kontenerze. Jeśli dany element systemu trzeba skalować bo ulego większemu obciążeniu to odpalamy kolejne kontenery z tą apką
Środowisko developerskie - ile razy konfigurowałęś nowy projekt przez ponad pół dnia ? Docker compose umozliwia odpalenia całego środowiska (np. API + Frontend + baza+jakiś redis) w zasadzie jedną komendą. Docker sam pobierze zależności i je odpali. To szczególnie fajne dla Frontendu - nie muszą pół dnia stawiać backendiu żeby testować calle u siebie - docker-compose up i lecimy.

Ważna uwaga - bo to może być mylące na początku. Kontener można traktować jako osobną maszynę wirtualną - ALE powinien on mieć w sobie tylko jedną główną aplikację - nie tworzy się kontenerów w stylu (mssql+api+coś tam). Każda aplikacja to zawsze osobny kontener. Teoretycznie można odpalić kilka aplikacji na raz - to w końcu linux - ale nie po to było to projektowane. Jesli odpalone jest kilka alikacji główny to jeśli jedna się sypnie to nie wiadomo co zrobić - jeśli jest jedna to kontener jest ubijany. Zwróć też uwagę na rożnicę między kontenerem a obrazem.

edytowany 1x, ostatnio: W2K, 2019-01-08 05:34

Pozostało 580 znaków

2019-01-11 01:58
2
W2K napisał(a):

Np.Aplikacja mikroserwisowa - każdy mikroserwis to osobna aplikacja - postawiona w osobnym kontenerze. Jeśli dany element systemu trzeba skalować bo ulego większemu obciążeniu to odpalamy kolejne kontenery z tą apką

A gdzie konkretnie je odpalamy? Bo jak w chmurze, to te serwisy same się skalują.

Środowisko developerskie - ile razy konfigurowałęś nowy projekt przez ponad pół dnia ?

Pół dnia? Luksus! Ja jakieś 3-5 lat temu mieszkałem w pudełku po butach... trafiałem do projektów, które odpalało się na swojej maszynie 3-5 dni.
Ile by to trwało z dockerem? Stawiam, że jakieś dwa tygodnie. Bo to byłby specjalny, zaprojektowany przez najlepszych korporacyjnych architektów docker, który działa tylko na maszynach VMWare z zainstalowaną Mandrivą 10, pod warunkiem, że serwer fizyczny ma dostępną stację dyskietek 5,25" oraz na stałe zwarte styki 2 i 6 w porcie COM2. Do tego docker-compose zapewne daliby radę zamienić jakimś znacznie bardziej zaawansowanym i potężnym rozwiązaniem bazującym na dużej ilości plików bat i xml. (Wiadomo - XML jest jak przemoc. Jeśli nie rozwiązuje Twoich problemów, to znaczy, że używasz go za mało.)
To jest kwestia bardziej podejścia i organizacji, narzędzi w mniejszym stopniu. Oczywiście dobre narzędzia użyte odpowiednio z przeznaczeniem pomogą w wielu sytuacjach. Ale można też do tych sytuacji nie doprowadzać.

To szczególnie fajne dla Frontendu - nie muszą pół dnia stawiać backendiu żeby testować calle u siebie - docker-compose up i lecimy.

A nie można po prostu wysyłać requestów do jakiegoś backendu na środowisku testowym?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2019-01-11 02:00
Gdybym dostał dolara za każdym razem kiedy siedząc nad jakimś nudnym i wtórnym do porzygu systemem słyszałem "ale my mamy specyficzne potrzeby i nie możemy użyć zwykłego ....". Szczytem było pisanie własnego serwera aplikacyjnego. - piotrpo wczoraj, 07:06

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

10 użytkowników online, w tym zalogowanych: 2, gości: 4, botów: 4

Moderator: Shalom

Robot: Facebookexternalhit (4x)

Użytkownik: Davros