Postawienie świeżego coyote'a na dockerze nie działa out of the box

2

Zainstalowałem sobie coyote'a z dockerem na innym komputerze (Windows) i dostaję:

PS C:\Users\Riddle\PhpstormProjects\coyote> make file-permission
docker-compose exec -T -u nginx php chmod -R 777 storage/
chmod: changing permissions of 'storage/': Operation not permitted
chmod: changing permissions of 'storage/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/app': Operation not permitted
chmod: changing permissions of 'storage/app/.gitignore': Operation not permitted       
chmod: changing permissions of 'storage/app/purifier': Operation not permitted
chmod: changing permissions of 'storage/app/purifier/.gitkeep': Operation not permitted
chmod: changing permissions of 'storage/debugbar': Operation not permitted
chmod: changing permissions of 'storage/debugbar/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/framework': Operation not permitted
chmod: changing permissions of 'storage/framework/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/framework/cache': Operation not permitted
chmod: changing permissions of 'storage/framework/cache/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/framework/sessions': Operation not permitted
chmod: changing permissions of 'storage/framework/sessions/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/framework/views': Operation not permitted
chmod: changing permissions of 'storage/framework/views/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/logs': Operation not permitted
chmod: changing permissions of 'storage/logs/.gitignore': Operation not permitted
chmod: changing permissions of 'storage/oauth-private.key': Operation not permitted
chmod: changing permissions of 'storage/oauth-public.key': Operation not permitted
make: *** [file-permission] Błąd 1
PS C:\Users\Riddle\PhpstormProjects\coyote>

Ale dziwne, bo działa bezpośrednio z kontenera

PS C:\Users\Riddle\PhpstormProjects\coyote> docker exec -it coyote-nginx-1 bash
root@577b3a09d03a:/var/www# chmod -R 777 storage/
root@577b3a09d03a:/var/www# 
1

Composer install też nie działa

PS C:\Users\Riddle\PhpstormProjects\coyote> make composer-install
docker-compose exec -T -u nginx php composer install
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Nothing to install, update or remove
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Package twig/extensions is abandoned, you should avoid using it. No replacement was suggested.      
Generating optimized autoload files                                                                 

                                                                                                               
  [ErrorException]                                                                                             
  file_put_contents(/var/www/vendor/composer/autoload_classmap.php): Failed to open stream: Permission denied  
                                                                                                               

install [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--dry-run] [--dev] [--no-suggest] [--no-dev] [--no-autoloader] [--no-scripts] [--no-progress] [--no-install] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [
--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--] [<packages>]...

make: *** [composer-install] Błąd 1
PS C:\Users\Riddle\PhpstormProjects\coyote>

I podobnie jak wcześniej; to śmiga jak się wejdzie do contenera php.

1

Z Windowsem to nie pomogę, ale różnica jest taka, że to polecenie z Makefile jest wykonywane z usera nginx. Pewnie dlatego jest ten problem.

Teoretycznie make install powinien skonfigurować i zainstalować projekt. Takie polecenie jest przynajmniej wykonywane na serwerze CI gdy testy są odpalane. Ale fakt, że maszyna z Linuxem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1