Ich versuche Postgres in IBM Containern zu starten. Ich habe gerade Volume erstellt von:
%Vor%Dann mount es:
%Vor%Nachdem ich mich mit ssh in den Container eingeloggt hatte, fand ich das gemountete Verzeichnis im Besitz von root:
%Vor%Da postgres nicht von root ausgeführt werden kann, möchte ich den Besitzer dieses Verzeichnisses ändern. Aber ich kann den Besitzer dieses Verzeichnisses nicht ändern:
%Vor%Ist es möglich, den Eigentümer des gemounteten Verzeichnisses zu ändern?
In IBM Containers ist der Benutzername für die Docker-Engine aktiviert. Wenn der Benutzer-Namespace aktiviert ist, ist der effektive Stamm innerhalb des Containers ein Nicht-Root-Benutzer außerhalb des Containerprozesses und NFS erlaubt dem zugeordneten Benutzer ohne Rootberechtigung nicht, die Chown-Operation auf dem Datenträger innerhalb des Containers auszuführen. Bitte beachten Sie, dass das Volumen pgdata
ein NFS ist, dies kann überprüft werden, indem mount -t nfs4
aus dem Container ausgeführt wird.
Sie können die vorgeschlagene Problemumgehung ausprobieren Wie kann ich die Berechtigungen mit docker beheben? auf einem Bluemix-Volume?
In diesem Szenario wird
sein %Vor%In Ihrer Dockerfile können Sie die Berechtigungen eines Verzeichnisses ändern.
RUN chown postgres:postgres pgsql
Zusätzlich können Sie die Berechtigungen des Verzeichnisses ändern, indem Sie sudo
verwenden.
sudo chown postgres:postgres pgsql
Hier sind 3 verschiedene, aber mögliche Lösungen:
dockerfile
, bevor Sie eine chown
. --cap-add
flag. Tags und Links ibm-cloud containers