Проблема:
Під час спроби оновити плагін або виконати подібну дію з використанням 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-generatorЯкщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow