Проблема:
При попытке обновить плагин или подобном действии с использованием docker-образа wordpress:cli wpcli, например, командой
docker_wpcli_update.sh
docker-compose exec wpcli wp plugin update google-sitemap-generatorвы видите сообщение об ошибке, например
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).Решение
Эта ошибка возникает, потому что образ wordpress (без :cli!) основан на Debian, а образ wordpress:cli основан на Alpine Linux. Debian использует UID 33 для пользователя www-data, тогда как Alpine Linux использует 83. Чтобы исправить проблему с правами, вам нужно принудить образ cli использовать 33:
Это задокументировано на docker-странице 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