Dowiązanie Docker staje się tylko do odczytu, gdy Docker otrzyma ścieżkę tylko do odczytu lub system plików hosta przestanie akceptować operacje zapisu.
Ponieważ dowiązanie ujawnia ścieżkę hosta bezpośrednio wewnątrz kontenera, kontener nie może samodzielnie naprawić problemu z dyskiem, systemem plików, flagą montowania ani zasadami bezpieczeństwa. Najbezpieczniejszy sposób przywrócenia działania to zatrzymanie operacji zapisu, porównanie montowania kontenera z montowaniem hosta, ustalenie, czy tryb tylko do odczytu został skonfigurowany lub wywołany przez błąd, a następnie przywrócenie sprawności pamięci masowej przed ponownym uruchomieniem aplikacji.
Potwierdź, która ścieżka jest tylko do odczytu
Wykonaj niegroźny test zapisu wewnątrz kontenera w miejscu docelowym dowiązania oraz kolejny test zapisu na hoście w ścieżce źródłowej. Zapisz dokładny komunikat błędu, zamiast zakładać, że każda odmowa dostępu oznacza system plików tylko do odczytu.
Przypadek opisany na forum Dockera pokazuje, że dowiązanie nadrzędne tylko do odczytu może uniemożliwić Dockerowi utworzenie zagnieżdżonego punktu montowania, ponieważ wymagany katalog nie może zostać utworzony w nadrzędnym systemie plików tylko do odczytu.
Jeśli host może zapisywać, ale kontener nie, sprawdź opcje montowania Dockera i mechanizmy kontroli bezpieczeństwa. Jeśli oba zapisy kończą się błędem systemu plików tylko do odczytu, przestań zmieniać użytkowników kontenera i przenieś diagnostykę na montowanie hosta oraz urządzenie pamięci masowej.
Sprawdź efektywne flagi montowania Dockera
Sprawdź konfigurację uruchomionego kontenera, a nie tylko bieżący plik Compose. Potwierdź źródło, miejsce docelowe, tryb propagacji oraz to, czy montowanie jest oznaczone jako tylko do odczytu przez :ro, składnię długą, plik zastępujący lub narzędzie wdrożeniowe.
Zgłoszenie dotyczące klienta Dockera opisuje przypadki, w których zamontowane ścieżki wyglądały na tylko do odczytu, ponieważ konfiguracja środowiska uruchomieniowego różniła się od zamierzonej konfiguracji z dostępem do zapisu. Najważniejszym dowodem jest efektywny tryb montowania przypisany do uruchomionego kontenera.
Jeśli montowanie ma być celowo tylko do odczytu, usuń tę flagę wyłącznie wtedy, gdy aplikacja rzeczywiście wymaga zapisu. Po zmianie deklaracji utwórz kontener ponownie, ponieważ edycja pliku Compose nie zmienia wstecznie istniejącego montowania.
Ustal, czy host ponownie zamontował system plików w trybie tylko do odczytu
Sprawdź tabelę montowań hosta, dziennik jądra, dziennik pamięci masowej oraz stan systemu plików pod kątem błędów wejścia-wyjścia, awarii dziennika, błędów sum kontrolnych, resetów urządzenia lub ochronnego ponownego montowania. Nie wymuszaj ponownego montowania z dostępem do zapisu, zanim nie zrozumiesz, dlaczego została aktywowana ochrona.
Przypadek opisany w pomocy technicznej Unraid przedstawia awarię danych aplikacji Dockera po przejściu systemu plików w tryb tylko do odczytu, w tym błędy podczas tworzenia katalogów Plex. Taki wzorzec wskazuje na awarię systemu plików hosta, a nie ustawienie uprawnień kontenera.
Zatrzymaj dotknięte problemem kontenery i zachowaj dane diagnostyczne. Napraw dysk, pulę, kabel, system plików lub dziennik za pomocą obsługiwanego przez platformę procesu konserwacji, a następnie potwierdź, że ścieżka hosta działa prawidłowo, zanim ponownie zezwolisz kontenerom baz danych lub multimediów na zapis.
Sprawdź zagnieżdżone i nakładające się montowania
Wyświetl wszystkie dowiązania i nazwane woluminy, których miejsce docelowe znajduje się wewnątrz innego zamontowanego katalogu. Nakładające się montowania mogą ukrywać katalogi, dziedziczyć nieoczekiwane zachowanie dostępu lub wymagać od Dockera utworzenia punktu montowania pod nadrzędnym katalogiem tylko do odczytu.
Dyskusja na Server Fault wyjaśnia, że nałożenie montowania z dostępem do zapisu i szerszego montowania tylko do odczytu w powiązanych ścieżkach kontenera może prowadzić do mylących rezultatów. Ponieważ ta domena jest już używana w innym miejscu tego zestawu, praktyczna zasada polega na zmapowaniu całego drzewa miejsc docelowych przed zmianą uprawnień.
Utwórz wymagane katalogi hosta przed uruchomieniem kontenera, unikaj montowania zapisywalnego katalogu podrzędnego pod katalogiem nadrzędnym tylko do odczytu, gdy środowisko uruchomieniowe musi go utworzyć, i przechowuj ścieżki trwałe jawnie w Compose. Po uproszczeniu drzewa montowań utwórz kontener ponownie.
Oddziel stan tylko do odczytu od uprawnień i zasad bezpieczeństwa
Porównaj błąd z testu zapisu z właścicielem katalogu źródłowego, jego trybem, listą ACL, etykietą SELinux, profilem AppArmor oraz identyfikatorem użytkownika kontenera. Odmowa dostępu i system plików tylko do odczytu to różne awarie, które wymagają różnych napraw.
Poradnik rozwiązywania problemów z pamięcią masową dzieli przypadki woluminów tylko do odczytu na flagi montowania, błędy systemu plików, konteksty bezpieczeństwa i problemy ze sterownikiem pamięci masowej. Taka klasyfikacja pomaga uniknąć bezrefleksyjnej reakcji w postaci chmod 777 na stan pamięci masowej tylko do odczytu.
Jeśli uprawnienia są nieprawidłowe, popraw właściciela lub listy ACL na hoście, używając docelowych identyfikatorów UID i GID kontenera. Jeśli sam system plików jest tylko do odczytu, zmiany uprawnień zakończą się niepowodzeniem i nie należy ich stosować zamiast naprawy systemu plików.
Uruchom aplikację ponownie dopiero po pomyślnym teście zapisu na hoście
Utwórz, zsynchronizuj, odczytaj i usuń plik tymczasowy w ścieżce hosta, a następnie powtórz test w krótkotrwałym kontenerze testowym, używając tej samej deklaracji montowania i użytkownika. Potwierdź, że oczekiwany system plików pozostaje zamontowany po ponownym uruchomieniu.
Poradnik ZimaSpace dotyczący znajdowania zależności powodującej pętlę restartów kontenera jest kolejnym krokiem, jeśli aplikacja nadal zapętla się po przywróceniu możliwości zapisu w pamięci masowej.
Naprawę można uznać za zakończoną dopiero wtedy, gdy system plików hosta działa prawidłowo, efektywne montowanie Dockera jest zgodnie z założeniami dostępne do odczytu i zapisu, aplikacja może aktualizować swoje trwałe pliki, a podczas ciągłego użytkowania nie pojawiają się nowe błędy wejścia-wyjścia ani systemu plików.
Wsparcie i wskazówki
Więcej do przeczytania

Przewodnik po pamięci masowej nagrywania telewizji na żywo: pojemność, przechowywanie i czyszczenie
Zmierz rzeczywiste nagrania, zarezerwuj zapas, połącz limity wieku i pojemności oraz potwierdź, że najstarszy kwalifikujący się program zostanie usunięty, zanim pamięć się zapełni.

Proces odzyskiwania metadanych multimediów domowych po przywróceniu bazy danych
Zabezpiecz przywrócony stan, zweryfikuj tożsamość multimediów i ścieżki, a następnie napraw brakujące grafiki lub dopasowania w pilotażowej bibliotece przed wprowadzeniem szeroko zakrojonych zmian metadanych.

Lista zgodności klientów Jellyfin z dźwiękiem, obrazem i napisami
Testuj reprezentatywne pliki, zmieniając jedną zmienną naraz, i rejestruj dla każdego klienta: bezpośrednie odtwarzanie, remultipleksowanie, konwersję dźwięku, transkodowanie wideo lub niepowodzenie.

