WP no Docker - não é possível instalar o plugin ou atualizar o WP

4

Para fins de desenvolvimento, preciso configurar uma instalação do WordPress em um contêiner docker.

Eu encontrei e segui esse tutorial .

Tudo está funcionando bem, com toda a segurança e otimização. Mas o tutorial é baseado no WordPress 4.5.2. E quando tudo está configurado, não posso atualizar o WordPress por causa de alguma permissão negada. É claro que modifiquei sozinho o Dockerfile para obter o WordPress 4.7, mas não poderei fazer a atualização futura.

Além disso, se eu precisar instalar um plug-in, ele falhará porque não pode criar a pasta no meu volume. Se eu mkdir -p as pastas tudo estiver funcionando bem.

Aqui o GitHub com todos os arquivos.

Então, acho que tudo está vinculado, mas não consigo consertar. Alguma idéia?

    
por Ragnar 17.12.2016 / 11:36

1 resposta

3

O problema, como a descrição do erro indica, é permissões. Com base nesse tutorial, o nginx está sendo executado no usuário www-data , mas as pastas do WP são de propriedade de deployer . Se você alterar a propriedade do seu $ WP_ROOT para www-data: www-data, você descobrirá que pode atualizar seu WP. Eu não sou incrível em segurança, então pode haver uma maneira melhor, mas esta vai funcionar para atualizá-la. No comentário do tutorial, eles fizeram essa alteração de segurança de propósito, então talvez não seja uma boa ideia. Não tenho certeza sobre esse nível de detalhe.

Além dessa alteração, essa atualização não persistirá se você desativar a instância do docker. Você precisará atualizar sua instância do WP toda vez que reiniciar o contêiner. Pode fazer sentido colocar os arquivos WP em um volume para que o WP possa atualizar os arquivos conforme necessário, e que eles persistam. Isso também faria sentido, já que o banco de dados persiste e faz parte do upgrade de qualquer maneira. Mas essas decisões sobre segurança estão acima do meu salário.

    
por gdbj 12.09.2017 / 00:14