Wpis z mikrobloga

Mam sobie docker-compose łączący serwis backendowy, frontend i api gateway. Wszystko śmiga, ale za każdym razem gdy chcę coś zmienić muszę zrobić docker-compose down, build i potem up. Niby działa ale to jest katorga straszna i zgaduję że to się inaczej robi.

Dwa rozwiązania jakie ja widzę to:
1. Postawienie modyfikowanego serwisu na localu i podniesienie wszystkich pozostałych kontenerów.
Plusem jest to że wszystkie hot reloady działają ponownie, minusem to że muszę pewnie robić drugą konfigurację (żeby np. zmienić port z kontenerowego na port wystawiony dla hosta).
Drugi minus to fakt że nginx w api gateway krzyczy że upstream nie działa kiedy modyfikuję frontend (tutaj też nie jestem ekspertem i może to jest źle skonfigurowane).

2. Użycie Dev Containers w vscode. Tu nie wiem czy jest ekwiwalent dla Pycharma (backend piszę w pythonie) oraz miałem kiedyś problemy z hot reloadem.

Jakie rozwiązanie ma więcej sensu? Czy oprócz tego co wymieniłem są jakieś inne rozwiązania tego problemu?

#docker #devops #frontend #javascript #python #nginx
  • 4
@Gamgee: napisz sobie dwa docker composy: prod i dev. Prod niech się buduje i działa standalone a w devie podepnij kod źródłowy jako volume. Np dla django i vue zadziałają live reloady. W moim przypadku, na Linuksie pycharm nie spełniał za bardzo zadania przez auto zapis, wiec jak pracuje na otwartych kontenerach to pisze w vscode. W kodzie możesz ustawiać port i adresy ze zmiennych środowiskowych, które tez ustaw w yamlach