O Docker não pode acessar volumes

1

Instalei um novo servidor Fedora 22. Durante a configuração, selecionei a opção para pré-instalar o Docker. Eu ativei o Docker usando o Cockpit e instalei um novo container na linha de comando:

# docker run -d -h plex --name="plex" -v /etc/docker/plex:/config -v /tank:/data -p 32400:32400 timhaak/plex

Ao tentar executá-lo, recebo o erro:

+ GROUP=plextmp
+ mkdir -p /config/logs/supervisor
mkdir: cannot create directory ‘/config/logs’: Permission denied

Eu verifiquei os detalhes do contêiner:

...
"Volumes": {
    "/config": "/etc/docker/plex",
    "/data": "/tank"
...
"VolumesRW": {
    "/config": true,
    "/data": true
...

e o diretório existe:

# file /etc/docker/plex
/etc/docker/plex: directory

tudo parece estar bem.

No começo, eu pensei que havia um problema com o container, então eu tentei outros containers também. Eu encontro o mesmo problema com cada um deles. Eles não podem criar pastas ou arquivos (às vezes nem mesmo lê-los). Na documentação do docker ("Gerenciando dados em contêineres"), há um exemplo muito fácil de criar um novo contêiner que simplesmente abre um shell e monta um volume a partir do host:

# docker run --rm -it -v /etc/docker/test:/vol ubuntu /bin/bash

Tentando tocar em um arquivo nos / resultados de teste em um erro de permissão negada.

Há algo que eu esteja sentindo falta?

    
por b0wter 14.07.2015 / 16:22

1 resposta

1

No meu caso específico, o problema estava no SELinux. Depois de configurá-lo para "permissivo", consegui usar os contêineres.

(pode não ser a melhor das soluções, mas funciona até eu configurar as permissões do SELinux de acordo)

Atualização: Aqui está uma breve postagem no blog de Dan Walsh apontando possíveis problemas que podem surgir do uso do Docker Volumes e do SELinux:

link

    
por 14.07.2015 / 18:41