Problém s právy u kontejnerů
- Tomáš_
- Člen | 1
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 | 535
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é).