Docker i wieloprojektowe Web Api

0

Mam Web Api, które składa się z więcej niż jednego projektu. Jest możliwe stworzenie pojedyńczego obrazu dla takiej aplikacji? Czy bardziej powinno się przenieść pozostałe projekty do tego jednego?

Aplikacja ASP.Net Core webApi

Docker postawiony jest na Linuxie.

0

Da sie, w zasadzie możesz uruchomić dowolne procesy z CMD w dockerze, ale generalnie raczej pojedynczy docker powinien zawierać jak najmniej.

2

Generalnie Docker zakłada że będziesz uruchamiał jeden kontener na proces (mozna kilka ale problem pojawia się w wypadku wywalenia jednego z procesów. Nie ma wtedy szans na automatyczny restart). Z tego powodu w Twoim wypadku lepszą opcją będzie prawdopodobnie zbudowanie 3 obrazów i użycie docker compose żeby starować je wszystkie.

1

Ja powtórzę tylko to co poprzednicy innymi słowami. Kontener dockerowy służy do izolacji szczegółów technologicznych aplikacji przed systemem. Na jednej maszynie możesz sobie uruchomić restowy serwerek w nodejs i jakieś reverse proxy do niego bez "fizycznego" instalowania obydwu na maszynie, jedyne czego potrzebujesz to docker. Jednakoż nie uruchamiasz tych dwóch klocków w jednym kontenerze, to jest słabo skalowalne podejście, a uruchamiasz po jednym kontenerze na serwer i reverse proxy. Jeden kontener na jeden proces.

Zastanów się jednak, czy potrzebujesz takiej separacji, docker ma swoje problemy. Pewne rzeczy ułatwi a inne utrudni. Żeby w pełni wykorzystać jego zalety trzeba zastanowić nad infrastrukturą, dodatkowym repo na kontenery itp. Jeżeli problemy, które docker rozwiązuje Cię nie bolą, albo nie masz ich w ogóle, dostaniesz tylko nowy zestaw problemów związany z utrzymaniem dodatkowej technologi.

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