Docker: Permissão negada em pastas adicionadas com ADD

7

Estou tentando configurar uma instalação do postgresql usando o docker.

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

Eu posso acessar a pasta / db, mas não o / db / plpgsql (que contém arquivos executados pelo /db/all.sql)

Eu tentei chmod 777 em / db / plpgsql mas também não funciona, a permissão é negada.

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

Como faço para acessar essa pasta?

    
por Carl Levasseur 10.07.2014 / 19:44

1 resposta

1

Embora houvesse alguma resolução no problema comentado , parece que isso pode estar relacionado a um problema com o AUFS .

Se o seu docker info informar que seu driver aufs está sem suporte a dirperm1:

Storage Driver: aufs
  Root Dir: /var/lib/docker/aufs 
  Backing Filesystem: extfs
  Dirs: 148
  Dirperm1 Supported: false

... então você pode precisar atualizar os aufs em seu host ou tentar usar um driver de armazenamento diferente. Um pouco frustrante de se deparar com isso com aufs como o driver de armazenamento padrão, quando alterar permissões é algo que você espera que funcione corretamente.

    
por 18.09.2015 / 04:12