![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Siemka.
Szukam jakiegoś arta, tutka albo pomysłu jak zrobić deploy kilku apek w PHP na serwer. Chodzi mi o to jak to zkontemeryzować. Jaki schemat przyjąć żeby było elastycznie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jako, że ostatnio bawię się co raz więcej Dockerem to dorzucę swoje 2 gr.
Po pierwsze - najważniejsze, założeniem kontenerów jest separacja aplikacji od siebie. Perfekcyjnie by było, żeby jeden obraz miał tylko jedną aplikację (poza minimum systemowym). Czyli w Twoim przypadku minimum 3 kontenery - po jedym dla nginx, php, mysql. Ja w swojej konfiguracji dodaję jeszcze kontener tylko na dane - który jest współdzielony przez php i nginx/apache. Wszystko spinasz razem za pomocą Kod docker-compose .Druga kwestia - czy trzymać aplikację wewnątrz kontenera i podpinać wolumen z serwera. Oba rozwiązania mają swoje plusy i minusy. Kilka najistotniejszych: Wszystko w kontenerze - Potrzeba własnego repo na kontenery lub korzystanie z płatnych rozwiazań - bo zawierasz kod aplikacji wewnątrz kontenera. - Przygotowanie obrazu trwa dłużej - dołączenie plików aplikacji. - Każda nowa wersja aplikacji wymaga utworzenia nowego projektu. - Deploy jest ciut większy - bo jest wraz z plikami projektu. - Podniesienie tego na serwerze jest szybsze - uruchomienie kontenera, ubicie starego - gotowe. Kontener bez plików aplikacji - Nie trzeba tworzyć nowego orbazu przy każdym upgrade aplikacji. - Może być dostępny w publicznym hubie. - Mniejszy rozmiar obrazu. - Deploy wymaga zaciągnięcia plików projektu i dopiero potem obrazu i jego uruchomienie. Jeśli często powstają nowe wersje aplikacji, to robienie pełnych obrazó po każdej aktualizacji trzeba zautomatyzować, bo inaczej będzie przy tym sporo pracy (CI powinien o to zadbać). Natomiast przy rozwiązaniu z host volumes można aktualizować tylko pliki aplikacji - nawet jakimś hookiem z gita, czy z CI. Wtedy kontener będzie działał cały czas, nawet nie trzeba go restartować. Przenosiny na nowy serwer są łatwiejsze jeśli cały projekt jest w obrazie, nie trzeba wtedy oddzielnie pobierac plików projektu (chociaż to też można zautomatyzować skryptem - ale jednak kilka kroków więcej). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 13:12 |