Ich versuche, eine Postgresql-Installation mit Docker zu konfigurieren.
FROM ubuntu:13.10
ADD . /db
# install postgres
# ...
RUN chown postgres:postgres /db -R && \
chmod 700 /db -R
USER postgres
RUN /etc/init.d/postgresql start &&\
createdb test &&\
psql -d test -f /db/all.sql
Ich kann auf den Ordner / db zugreifen, aber nicht auf / db / plpgsql (der Dateien enthält, die von /db/all.sql ausgeführt werden).
Ich habe versucht, chmod 777 auf / db / plpgsql, aber es funktioniert auch nicht, die Berechtigung wird verweigert.
postgres@c364bdd94652:/$ ls -l | grep db
drwxrwxrwx 5 postgres postgres 4096 Jul 10 17:39 db
postgres@c364bdd94652:/$ cd db/
postgres@c364bdd94652:/db$ ls -l
-rwxrwxrwx 1 postgres postgres 2567 Jul 10 16:34 Dockerfile
-rwxrwxrwx 1 postgres postgres 358 Jul 10 14:53 all.sql
-rwxrwxrwx 1 postgres postgres 642 Jul 10 15:35 init.sql
drwxrwxrwx 10 postgres postgres 4096 Jul 10 16:36 plpgsql
postgres@c364bdd94652:/db$ cd plpgsql/
bash: cd: plpgsql/: Permission denied
Wie greife ich auf diesen Ordner zu?
linux
postgresql
permissions
docker
Carl Levasseur
quelle
quelle
Antworten:
Das kommentierte Problem enthielt zwar eine Lösung , es scheint jedoch, dass dies mit einem Problem mit AUFS zusammenhängt .
Wenn in Ihren
docker info
Berichten Ihrem aufs-Treiber die Unterstützung für dirperm1 fehlt:... dann müssen Sie möglicherweise die aufs auf Ihrem Host aktualisieren oder versuchen, einen anderen Speichertreiber zu verwenden. Es ist etwas frustrierend, mit aufs als Standardspeichertreiber darauf zu stoßen, wenn das Ändern von Berechtigungen etwas ist, von dem man nur erwarten würde, dass es richtig funktioniert.
quelle