Problém s právy u kontejnerů

Tomáš_
Člen | 1
+
0
-

Zdravím,
spouštím svoji aplikaci přes Docker, bohužel se mi pořád zobrazuje následující chyba: screen
Aplikace si nemůže z nějakého důvodu vytvořit příslušný kontejner, ale nějaké tam vytvoří: screen

Zkoušel jsem vše – změnit uložení aplikace, dát ji na jiný disk, povolit tam všechna práva pro everyone a fakt netuším, čím by to mohlo být způsobeno.

Neví někdo, co s tím?

Předěm děkuji za pomoc

petr.pavel
Člen | 533
+
0
-

Imho nemůže při stejné konfiguraci jednou práva mít a jednou ne. Takže buď si vzpomeneš, co's měl nastavené v době, kdy tam ten kontejner vznikl (pokud jsi ho tam nezkopíroval odjinud) nebo to ignoruj.

Připoj se do shellu kontejneru a dej si vypsat vlastníka a práva adresáře. Je vlastník stejný jako proces, pod kterým běží web server? (obvykle www-data)? Nebo patří aspoň do stejné skupiny a skupina má právo zápisu?

Quick fix může být smazat celý adresář cache a nechat Nette, ať si tam všechno vytvoří znova. Ty jen zajistíš přístup do /var/www/html/temp/ … mimochodem, neznamená tahle cesta, doufám, že je temp/ uvnitř document rootu, tj. přístupný přes webový server?

Jestli potřebuješ do souborů hrabat i z hostitelského systému, můžeš si uživatel uvnitř a venku synchronizovat:

  • Jestli builduješ vlastní image, můžeš si do Dockerfile předat uid aktuálního uživatele a toho pak uvnitř Dockeru nastavit jako to www-data. Tím zajistíš, že tvé změny z hostitelského systému (Windows) nezavřou přístup zevnitř Dockerového kontejneru.
  • Jestli používáš nějakou už hotovou image, tak ta to nejspíš už nějak řeší, tak se podívej, co máš kam předat (nejspíš env proměnné).