Podnieś limit pamięci kontenera CODE bez zgadywania
Sprawdź, czy Docker ogranicza KOD Collabora, bezpiecznie podnieś limit pamięci Compose i potwierdź, że działający kontener otrzymał nowy limit.
Aby zapewnić kontenerowi Collabora Online CODE więcej pamięci, należy zwiększyć limit Dockera w konfiguracji, która go tworzy, a następnie ponownie utworzyć kontener i potwierdzić obowiązujący limit za pomocą docker inspectlub docker stats. Zwiększenie ustawienia aplikacji nie powoduje zwiększenia limitu kontenera Dockera, a host lub maszyna wirtualna Docker Desktop musi mieć wystarczającą ilość dostępnej pamięci, aby obsłużyć wyższy limit.
Hipotetyczny przykład użyty w całym tekście: Riley administruje wdrożeniem Docker Compose na jednym hoście. Sumpe docker statspokazuje limit 2 GiB i użycie bliskie temu limitowi, gdy otwartych jest kilka dokumentów. Riley rozważa limit 4 GiB. Te liczby są jedynie przykładami, a nie zaleceniami dotyczącymi rozmiaru Collabora, deklaracją wydajności ani wynikami testów; limit powinien wynikać z obserwowanego obciążenia i pojemności hosta.
Uruchom te polecenia na hoście Docker, zastępując collaboraje rzeczywistą nazwą kontenera:
docker stats --no-stream collabora
docker inspect --format 'Memory={{.HostConfig.Memory}} OOMKilled={{.State.OOMKilled}}' collaboradocker statsPokazuje bieżące wykorzystanie i limit kontenera. Wynik polecenia inspect raportuje skonfigurowany limit pamięci w bajtach oraz informację, czy Docker rejestruje kontener jako „OOM-killed”. Wartość polecenia inspect równa się 0„Docker” oznacza, że Docker nie ma jawnego sztywnego limitu dla danego kontenera; nie oznacza to, że maszyna ma nieograniczoną pamięć RAM. Sam wysoki odczyt nie jest dowodem na wystąpienie zdarzenia braku pamięci, dlatego należy porównać go z historią restartów, logami i czasem, w którym użytkownicy zauważyli awarie.

Przed zwiększeniem limitu sprawdź, ile pamięci RAM pozostało dla systemu operacyjnego i innych usług. Wskazówki dotyczące zasobów Dockera zalecają testowanie zapotrzebowania aplikacji i uruchamianie kontenerów na hostach z odpowiednimi zasobami. W przypadku Docker Desktop sprawdź również Ustawienia > Zasoby : pamięć przypisana do maszyny wirtualnej Dockera stanowi oddzielny limit współdzielony przez jej kontenery. Zwiększenie limitu CODE ponad tę alokację nie spowoduje utworzenia dodatkowej pamięci fizycznej; patrz ustawienia zasobów Docker Desktop .
Edytuj istniejącą usługę CODE w pliku Compose. Zachowaj jej aktualny tag obrazu, porty, środowisko, woluminy, sieci i zasady ponownego uruchamiania; dodaj lub zaktualizuj tylko ustawienia pamięci. W hipotetycznym przykładzie Rileya z 4 GB:
services:
collabora:
image: collabora/code:your-current-tag
mem_limit: 4g
# Keep the service’s existing settings below
W tym przykładzie użyto oficjalnego obrazu Dockera CODE firmy Collabora ; zachowaj tag już używany przez wdrożenie. mem_limitTo sztywny limit, a nie rezerwacja: Docker może pozwolić kontenerowi na wykorzystanie określonej ilości pamięci RAM, ale to ustawienie nie rezerwuje tak dużej ilości pamięci RAM na hoście. Odwołanie do usługi Docker Compose definiuje to mem_limiti stwierdza, że musi się zgadzać, deploy.resources.limits.memoryjeśli oba są obecne. Jeśli wdrożenie korzysta z orkiestratora lub pliku Compose zarządzanego przez platformę, użyj pola zasobów obsługiwanego przez tę platformę i zachowaj spójność wartości limitów duplikatów.
Jeśli uruchomiłeś CODE bezpośrednio za pomocą docker run, utwórz go ponownie z oryginalnego polecenia za pomocą --memory=4gi zachowaj wszystkie jego bieżące opcje. Aby szybko zmienić środowisko uruchomieniowe istniejącego kontenera Linux, Docker obsługuje również docker update --memory 4g <container_name>. Traktuj plik Compose lub oryginalne polecenie run jako źródło prawdy, aby późniejsza wymiana nie przywróciła starego capa. Zobacz dokumentację dotyczącą aktualizacji kontenera Docker .
Z katalogu zawierającego aktywny plik Compose sprawdź poprawność scalonej konfiguracji, a następnie utwórz ponownie tylko usługę CODE:
docker compose config
docker compose up -d --no-deps --force-recreate collaboraUżyj klucza usługi z pliku zamiast collabora. Sprawdź wygenerowaną konfigurację pod kątem nowego limitu przed jego zastosowaniem. Ponowne utworzenie KODU powoduje krótkotrwałe przerwanie sesji edycji zależnych od tego kontenera, dlatego zaplanuj zmianę, gdy krótka przerwa w usłudze jest akceptowalna. Nie usuwaj woluminów ani nie uruchamiaj docker compose down -v; operacje te są zbędne w przypadku zmiany limitu pamięci i mogą spowodować usunięcie trwałych danych należących do innych usług.

Po zakończeniu usługi sprawdź sam kontener, a nie tylko plik YAML:
docker inspect --format 'Memory={{.HostConfig.Memory}} OOMKilled={{.State.OOMKilled}}' collabora
docker stats --no-stream collaboraDla przykładowej wartości 4g, wynik inspekcji powinien reprezentować około 4 GiB w bajtach i docker statspokazywać limit bliski 4 GiB. Poniższy obraz przedstawia przykładowe dane wyjściowe wyłącznie w celach ilustracyjnych. Następnie obserwuj KOD podczas otwierania typów dokumentów i przybliżoną liczbę jednoczesnych sesji, które mają znaczenie dla wdrożenia. Upewnij się, że kontener nadal działa, błędy widoczne dla użytkownika ustają, a host zachowuje pamięć dla pozostałych procesów.

Jeśli nowy limit jest obecny, ale CODE nadal się restartuje, sprawdź docker inspectstan docker logs, zdarzenia jądra hosta lub zdarzenia Dockera pod kątem rekordu braku pamięci. Jeśli kontener pozostaje sprawny, ale przetwarzanie dokumentów nadal uruchamia czyszczenie, Docker może nie być aktywnym wąskim gardłem. Własna konfiguracja Collabora ma mechanizm zarządzania pamięcią niezależny od limitu Docker cgroup; szablon konfiguracjicoolwsd projektu dokumentuje kontrolki po stronie serwera. Przed zmianą konfiguracji sprawdź konfigurację zainstalowanej wersji CODE.
Nie należy rozwiązywać niepewności, ustawiając kontener na nieograniczoną pamięć lub wyłączając funkcję zatrzymywania pamięci (out-of-memory killer). Docker ostrzega, że nieograniczony kontener może przyczynić się do wyczerpania pamięci hosta i wpłynąć na niezwiązane z nim usługi. Jeśli host nie ma bezpiecznej przestrzeni, prawdziwym rozwiązaniem jest zwiększenie pojemności hosta lub maszyny wirtualnej Dockera, zmniejszenie współbieżnego obciążenia lub rozproszenie zadań – a nie podniesienie limitu ponad dostępną pamięć RAM.
Sprawdź, czy Docker ogranicza KOD Collabora, bezpiecznie podnieś limit pamięci Compose i potwierdź, że działający kontener otrzymał nowy limit.
Uprość środowisko Collabora CODE dzięki trybowi kompaktowemu lub z zakładkami oraz kontrolkom WOPI PostMessage, aby bezpiecznie ukryć wybrane przyciski, polecenia i zakładki.
Przypisz Nginxowi obsługę protokołu HTTPS dla kontenera Collabora CODE, popraw edycję WebSockets i zweryfikuj publiczny punkt końcowy bez ujawniania portu 9980.
Rozwiąż problem z klawiaturą przeglądarki mobilnej zasłaniającą tekst w usłudze Collabora Online, korzystając z szybkich obejść i oddzielnych sprawdzeń dla przeglądarek, osadzonych elementów WebViews i stron hosta.
Ustaw limity drukowania i pobierania tylko dla łączy ONLYOFFICE, członków pokoju lub sesji API Dokumentów, a następnie zweryfikuj ograniczenia z poziomu konta odbiorcy.
Ustaw miejsce docelowe kopii zapasowej, harmonogram, zasięg poczty i limit przechowywania w obszarze roboczym ONLYOFFICE, a następnie sprawdź, czy archiwum jest gotowe do przywrócenia.
Uruchom stos Enterprise Docker Compose, zapisz jego licencję i dane, bezpiecznie skonfiguruj JWT i sprawdź, czy edytory są gotowe do integracji.
Użyj makra JavaScript ONLYOFFICE, aby usunąć znaki niedrukowalne i usunąć zbędne spacje z określonego zakresu arkusza kalkulacyjnego, korzystając z bezpiecznego przepływu pracy przeglądu.
Przenieś dane portalu z domyślnego dysku do obsługiwanego dostawcy pamięci masowej w chmurze lub bezpiecznie przenieś dane Docker, zmieniając mapowanie woluminu hosta.
Sprawdź, czy Document Server używa pakietu Linux czy Dockera, usuń tylko jego komponenty i sprawdź pozostałe dane, nie usuwając przez pomyłkę usług współdzielonych.