Problema:
Ao tentar atualizar um plugin ou ação similar usando a imagem docker wordpress:cli wpcli, por exemplo usando um comando como
docker_wpcli_update.sh
docker-compose exec wpcli wp plugin update google-sitemap-generatorvocê vê uma mensagem de erro como
wpcli_warning.txt
Warning: Failed to create directory. "/var/www/html/wp-content/upgrade/google-sitemap-generator.4.1.16"
+--------------------------+-------------+-------------+--------+
| name | old_version | new_version | status |
+--------------------------+-------------+-------------+--------+
| google-sitemap-generator | 4.1.13 | 4.1.16 | Error |
+--------------------------+-------------+-------------+--------+
Error: No plugins updated (1 failed).Solução
Este erro ocorre porque a imagem wordpress (sem :cli!) é baseada em Debian e a imagem wordpress:cli é baseada em Alpine Linux. Debian usa o UID 33 para o usuário www-data enquanto Alpine Linux usa 83. Então para corrigir o problema de permissão, você precisa forçar a imagem cli a usar 33:
Isso está documentado na página docker do wordpress.
docker_wpcli_update.sh
docker-compose exec -e HOME=/tmp --user 33:33 wpcli wp plugin update google-sitemap-generatorIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow